PI*r^2

Time bar (total: 19.1s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%50%50%0%0%0%0
100%50%0%50%0%0%0%1
Compiler

Compiled 13 to 10 computations (23.1% saved)

sample817.0ms (4.3%)

Memory
120.2MiB live, 446.4MiB allocated
Samples
512.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 279.0ms
ival-pow2: 114.0ms (40.8% of total)
ival-mult: 51.0ms (18.3% of total)
ival-<=: 47.0ms (16.8% of total)
ival-pi: 37.0ms (13.2% of total)
exact: 14.0ms (5% of total)
ival-and: 12.0ms (4.3% of total)
ival-assert: 4.0ms (1.4% of total)
Bogosity

explain77.0ms (0.4%)

Memory
-48.0MiB live, 25.0MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-#s(literal 2 binary64)
01(1.0180103932860549e-162)0-(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64)))
00-0-(pow.f64 r #s(literal 2 binary64))
00-0-r
00-0-(PI.f64)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
*.f64(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64)))n*u10
Confusion
Predicted +Predicted -
+00
-1255
Precision
0.0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-10255
Precision?
0.0
Recall?
0/0
Freqs
test
numberfreq
0255
11
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-100
Precision?
0.0
Recall?
0/0
Samples
23.0ms512×0valid
Compiler

Compiled 31 to 19 computations (38.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-pow2: 6.0ms (54.3% of total)
ival-mult: 3.0ms (27.1% of total)
ival-pi: 2.0ms (18.1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess16.0ms (0.1%)

Memory
4.9MiB live, 4.9MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
11911
25011
318411
434311
536411
636811
055
085
1105
2145
3165
0165
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64)))
Outputs
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64)))
(*.f64 (*.f64 r r) (PI.f64))
Compiler

Compiled 5 to 5 computations (0% saved)

eval0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64)))
Compiler

Compiled 5 to 5 computations (0% saved)

simplify3.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(pow.f64 r #s(literal 2 binary64))
cost-diff0
(PI.f64)
cost-diff0
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0511
0811
11011
21411
31611
01611
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64)))
(PI.f64)
(pow.f64 r #s(literal 2 binary64))
r
#s(literal 2 binary64)
Outputs
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64)))
(*.f64 (*.f64 r r) (PI.f64))
(PI.f64)
(pow.f64 r #s(literal 2 binary64))
(*.f64 r r)
r
#s(literal 2 binary64)

localize16.0ms (0.1%)

Memory
6.7MiB live, 6.7MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(pow.f64 r #s(literal 2 binary64))
accuracy0.0
(PI.f64)
accuracy0.1484375
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64)))
Samples
12.0ms256×0valid
Compiler

Compiled 13 to 7 computations (46.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-pow2: 3.0ms (52.7% of total)
ival-pi: 1.0ms (17.6% of total)
ival-mult: 1.0ms (17.6% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series2.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Counts
3 → 2
Calls
Call 1
Inputs
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64)))
(PI.f64)
(pow.f64 r #s(literal 2 binary64))
Outputs
(* (pow r 2) (PI))
(pow r 2)
Calls

3 calls:

TimeVariablePointExpression
1.0ms
r
@inf
((* (PI) (pow r 2)) (PI) (pow r 2))
1.0ms
r
@0
((* (PI) (pow r 2)) (PI) (pow r 2))
0.0ms
r
@-inf
((* (PI) (pow r 2)) (PI) (pow r 2))

simplify2.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058
178
2118
3128
0128
Stop Event
iter limit
saturated
Counts
2 → 2
Calls
Call 1
Inputs
(* (pow r 2) (PI))
(pow r 2)
Outputs
(* (pow r 2) (PI))
(*.f64 (*.f64 (PI.f64) r) r)
(pow r 2)
(*.f64 r r)

rewrite52.0ms (0.3%)

Memory
11.6MiB live, 11.6MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059
087
1317
21507
39887
472727
083137
Stop Event
iter limit
node limit
iter limit
Counts
3 → 60
Calls
Call 1
Inputs
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64)))
(PI.f64)
(pow.f64 r #s(literal 2 binary64))
Outputs
(*.f64 (pow.f64 r #s(literal 3/2 binary64)) (sqrt.f64 r))
(*.f64 (*.f64 r r) (PI.f64))
(*.f64 r r)
(*.f64 (sqrt.f64 r) (pow.f64 r #s(literal 3/2 binary64)))
(*.f64 (PI.f64) (*.f64 r r))
(pow.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)))) (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))) #s(literal -1 binary64)))
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -1 binary64)))
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 3 binary64)) #s(literal 8 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -2 binary64)))
(pow.f64 (*.f64 (pow.f64 r #s(literal 3 binary64)) r) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (/.f64 (log.f64 r) #s(literal 2 binary64)))
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (log.f64 (sqrt.f64 r)))
(pow.f64 (*.f64 r (pow.f64 r #s(literal 3 binary64))) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) (log.f64 (sqrt.f64 r)))
(pow.f64 (pow.f64 r #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (+.f64 (/.f64 (log.f64 r) #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (-.f64 (log.f64 r) #s(literal 0 binary64)))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 r))
(pow.f64 (E.f64) (*.f64 (log.f64 r) #s(literal 2 binary64)))
(pow.f64 (pow.f64 r #s(literal 1/4 binary64)) #s(literal 8 binary64))
(pow.f64 (*.f64 r r) (PI.f64))
(pow.f64 r #s(literal 2 binary64))
(pow.f64 (sqrt.f64 r) #s(literal 4 binary64))
(/.f64 (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))))) (exp.f64 (/.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))))))
(/.f64 (*.f64 r r) (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 (log.f64 r) #s(literal 2 binary64)))))
(/.f64 (*.f64 r r) (PI.f64))
(sqrt.f64 (pow.f64 r #s(literal 4 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 r #s(literal 4 binary64))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 r)) #s(literal 4 binary64)))
(exp.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)))
(PI.f64)
#s(literal 1 binary64)
(*.f64 (pow.f64 r #s(literal 3/2 binary64)) (sqrt.f64 r))
(*.f64 (*.f64 r r) (PI.f64))
(*.f64 r r)
(*.f64 (sqrt.f64 r) (pow.f64 r #s(literal 3/2 binary64)))
(*.f64 (PI.f64) (*.f64 r r))
(pow.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)))) (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))) #s(literal -1 binary64)))
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -1 binary64)))
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 3 binary64)) #s(literal 8 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -2 binary64)))
(pow.f64 (*.f64 (pow.f64 r #s(literal 3 binary64)) r) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (/.f64 (log.f64 r) #s(literal 2 binary64)))
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (log.f64 (sqrt.f64 r)))
(pow.f64 (*.f64 r (pow.f64 r #s(literal 3 binary64))) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) (log.f64 (sqrt.f64 r)))
(pow.f64 (pow.f64 r #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (+.f64 (/.f64 (log.f64 r) #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (-.f64 (log.f64 r) #s(literal 0 binary64)))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 r))
(pow.f64 (E.f64) (*.f64 (log.f64 r) #s(literal 2 binary64)))
(pow.f64 (pow.f64 r #s(literal 1/4 binary64)) #s(literal 8 binary64))
(pow.f64 (*.f64 r r) (PI.f64))
(pow.f64 r #s(literal 2 binary64))
(pow.f64 (sqrt.f64 r) #s(literal 4 binary64))
(/.f64 (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))))) (exp.f64 (/.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))))))
(/.f64 (*.f64 r r) (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 (log.f64 r) #s(literal 2 binary64)))))
(/.f64 (*.f64 r r) (PI.f64))
(sqrt.f64 (pow.f64 r #s(literal 4 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 r #s(literal 4 binary64))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 r)) #s(literal 4 binary64)))
(exp.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)))

eval4.0ms (0%)

Memory
2.8MiB live, 2.8MiB allocated
Compiler

Compiled 256 to 92 computations (64.1% saved)

prune1.0ms (0%)

Memory
1.8MiB live, 1.8MiB allocated
Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New30333
Fresh000
Picked101
Done000
Total31334
Accuracy
99.9%
Counts
34 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(*.f64 (*.f64 r r) (PI.f64))
59.2%
(*.f64 r r)
99.7%
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r))
Compiler

Compiled 19 to 15 computations (21.1% saved)

simplify3.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
cost-diff0
(PI.f64)
cost-diff0
(*.f64 r r)
cost-diff0
(*.f64 (*.f64 r r) (PI.f64))
cost-diff0
(*.f64 r r)
cost-diff0
(PI.f64)
cost-diff0
(*.f64 (PI.f64) r)
cost-diff0
(*.f64 (*.f64 (PI.f64) r) r)
cost-diff0
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01135
01635
12135
02135
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r))
(*.f64 (*.f64 (PI.f64) r) r)
(*.f64 (PI.f64) r)
(PI.f64)
r
(*.f64 r r)
r
(*.f64 (*.f64 r r) (PI.f64))
(*.f64 r r)
r
(PI.f64)
Outputs
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r))
(*.f64 (*.f64 (PI.f64) r) r)
(*.f64 (PI.f64) r)
(PI.f64)
r
(*.f64 r r)
r
(*.f64 (*.f64 r r) (PI.f64))
(*.f64 (*.f64 (PI.f64) r) r)
(*.f64 r r)
r
(PI.f64)

localize25.0ms (0.1%)

Memory
10.6MiB live, 10.6MiB allocated
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 r r)
accuracy0.0
(PI.f64)
accuracy0.1484375
(*.f64 (*.f64 r r) (PI.f64))
accuracy0.0
(*.f64 r r)
accuracy0.0
(PI.f64)
accuracy0.0
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r))
accuracy0.1484375
(*.f64 (*.f64 (PI.f64) r) r)
accuracy0.3125
(*.f64 (PI.f64) r)
Samples
18.0ms256×0valid
Compiler

Compiled 31 to 10 computations (67.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-mult: 6.0ms (57.4% of total)
ival-pow2: 3.0ms (28.7% of total)
ival-pi: 1.0ms (9.6% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series2.0ms (0%)

Memory
1.5MiB live, 1.5MiB allocated
Counts
6 → 3
Calls
Call 1
Inputs
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r))
(*.f64 (*.f64 (PI.f64) r) r)
(*.f64 (PI.f64) r)
(PI.f64)
(*.f64 r r)
(*.f64 (*.f64 r r) (PI.f64))
Outputs
(* (pow r 2) (PI))
(* r (PI))
(pow r 2)
Calls

3 calls:

TimeVariablePointExpression
1.0ms
r
@-inf
((* (PI) (pow r 2)) (* (* (PI) r) r) (* (PI) r) (PI) (* r r) (* (* r r) (PI)))
1.0ms
r
@inf
((* (PI) (pow r 2)) (* (* (PI) r) r) (* (PI) r) (PI) (* r r) (* (* r r) (PI)))
1.0ms
r
@0
((* (PI) (pow r 2)) (* (* (PI) r) r) (* (PI) r) (PI) (* r r) (* (* r r) (PI)))

simplify2.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0611
1911
21111
01111
Stop Event
iter limit
saturated
Counts
3 → 3
Calls
Call 1
Inputs
(* (pow r 2) (PI))
(* r (PI))
(pow r 2)
Outputs
(* (pow r 2) (PI))
(*.f64 (*.f64 r r) (PI.f64))
(* r (PI))
(*.f64 r (PI.f64))
(pow r 2)
(*.f64 r r)

rewrite39.0ms (0.2%)

Memory
5.0MiB live, 5.0MiB allocated
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01128
01630
14230
216630
3104418
4747518
0802118
Stop Event
iter limit
node limit
iter limit
Counts
6 → 110
Calls
Call 1
Inputs
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r))
(*.f64 (*.f64 (PI.f64) r) r)
(*.f64 (PI.f64) r)
(PI.f64)
(*.f64 r r)
(*.f64 (*.f64 r r) (PI.f64))
Outputs
#s(approx (* (PI) (pow r 2)) (*.f64 r r))
(*.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))) (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))))
(*.f64 (pow.f64 r #s(literal 3/2 binary64)) (sqrt.f64 r))
(*.f64 (sqrt.f64 r) (pow.f64 r #s(literal 3/2 binary64)))
(*.f64 (*.f64 r r) (PI.f64))
(*.f64 r r)
(*.f64 (PI.f64) (*.f64 r r))
(pow.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)))) (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))) #s(literal -1 binary64)))
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -1 binary64)))
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 3 binary64)) #s(literal 8 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -2 binary64)))
(pow.f64 (*.f64 (pow.f64 r #s(literal 3 binary64)) r) #s(literal 1/2 binary64))
(pow.f64 (*.f64 r (pow.f64 r #s(literal 3 binary64))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (/.f64 (log.f64 r) #s(literal 2 binary64)))
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (log.f64 (sqrt.f64 r)))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) (log.f64 (sqrt.f64 r)))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))) #s(literal 2 binary64))
(pow.f64 (pow.f64 r #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 r) #s(literal 4 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (+.f64 (/.f64 (log.f64 r) #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (-.f64 (log.f64 r) #s(literal 0 binary64)))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 r))
(pow.f64 (pow.f64 r #s(literal 1/4 binary64)) #s(literal 8 binary64))
(pow.f64 (*.f64 r r) (PI.f64))
(pow.f64 r #s(literal 2 binary64))
(pow.f64 (E.f64) (*.f64 (log.f64 r) #s(literal 2 binary64)))
(/.f64 (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))))) (exp.f64 (/.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))))))
(/.f64 (*.f64 r r) (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 (log.f64 r) #s(literal 2 binary64)))))
(/.f64 (*.f64 r r) (PI.f64))
(sqrt.f64 (pow.f64 r #s(literal 4 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 r #s(literal 4 binary64))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 r)) #s(literal 4 binary64)))
(exp.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)))
(*.f64 (sqrt.f64 r) (sqrt.f64 r))
(*.f64 r (PI.f64))
(*.f64 (PI.f64) r)
(pow.f64 (pow.f64 r #s(literal 4 binary64)) #s(literal 1/4 binary64))
(pow.f64 (sqrt.f64 r) #s(literal 2 binary64))
(pow.f64 (sqrt.f64 (E.f64)) (*.f64 (log.f64 r) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (sqrt.f64 r)))
(pow.f64 (pow.f64 r #s(literal 1/4 binary64)) #s(literal 4 binary64))
(pow.f64 (*.f64 r r) #s(literal 1/2 binary64))
(pow.f64 r (PI.f64))
(pow.f64 (E.f64) (log.f64 r))
(sqrt.f64 (*.f64 r r))
(exp.f64 (log.f64 r))
r
(PI.f64)
#s(literal 1 binary64)
(*.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))) (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))))
(*.f64 (pow.f64 r #s(literal 3/2 binary64)) (sqrt.f64 r))
(*.f64 (sqrt.f64 r) (pow.f64 r #s(literal 3/2 binary64)))
(*.f64 (*.f64 r r) (PI.f64))
(*.f64 r r)
(*.f64 (PI.f64) (*.f64 r r))
(pow.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)))) (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))) #s(literal -1 binary64)))
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -1 binary64)))
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 3 binary64)) #s(literal 8 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -2 binary64)))
(pow.f64 (*.f64 (pow.f64 r #s(literal 3 binary64)) r) #s(literal 1/2 binary64))
(pow.f64 (*.f64 r (pow.f64 r #s(literal 3 binary64))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (/.f64 (log.f64 r) #s(literal 2 binary64)))
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (log.f64 (sqrt.f64 r)))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) (log.f64 (sqrt.f64 r)))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))) #s(literal 2 binary64))
(pow.f64 (pow.f64 r #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 r) #s(literal 4 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (+.f64 (/.f64 (log.f64 r) #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (-.f64 (log.f64 r) #s(literal 0 binary64)))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 r))
(pow.f64 (pow.f64 r #s(literal 1/4 binary64)) #s(literal 8 binary64))
(pow.f64 (*.f64 r r) (PI.f64))
(pow.f64 r #s(literal 2 binary64))
(pow.f64 (E.f64) (*.f64 (log.f64 r) #s(literal 2 binary64)))
(/.f64 (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))))) (exp.f64 (/.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))))))
(/.f64 (*.f64 r r) (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 (log.f64 r) #s(literal 2 binary64)))))
(/.f64 (*.f64 r r) (PI.f64))
(sqrt.f64 (pow.f64 r #s(literal 4 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 r #s(literal 4 binary64))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 r)) #s(literal 4 binary64)))
(exp.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)))
(*.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))) (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))))
(*.f64 (pow.f64 r #s(literal 3/2 binary64)) (sqrt.f64 r))
(*.f64 (sqrt.f64 r) (pow.f64 r #s(literal 3/2 binary64)))
(*.f64 (*.f64 r r) (PI.f64))
(*.f64 r r)
(*.f64 (PI.f64) (*.f64 r r))
(pow.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)))) (pow.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))) #s(literal -1 binary64)))
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -1 binary64)))
(pow.f64 (exp.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 3 binary64)) #s(literal 8 binary64))) (pow.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal -2 binary64)))
(pow.f64 (*.f64 (pow.f64 r #s(literal 3 binary64)) r) #s(literal 1/2 binary64))
(pow.f64 (*.f64 r (pow.f64 r #s(literal 3 binary64))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (/.f64 (log.f64 r) #s(literal 2 binary64)))
(pow.f64 (*.f64 (exp.f64 #s(literal 2 binary64)) (exp.f64 #s(literal 2 binary64))) (log.f64 (sqrt.f64 r)))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) (log.f64 (sqrt.f64 r)))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))) #s(literal 2 binary64))
(pow.f64 (pow.f64 r #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 r) #s(literal 4 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (+.f64 (/.f64 (log.f64 r) #s(literal 2 binary64)) (/.f64 (log.f64 r) #s(literal 2 binary64))))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (-.f64 (log.f64 r) #s(literal 0 binary64)))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 r))
(pow.f64 (pow.f64 r #s(literal 1/4 binary64)) #s(literal 8 binary64))
(pow.f64 (*.f64 r r) (PI.f64))
(pow.f64 r #s(literal 2 binary64))
(pow.f64 (E.f64) (*.f64 (log.f64 r) #s(literal 2 binary64)))
(/.f64 (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))))) (exp.f64 (/.f64 (*.f64 (pow.f64 (log.f64 r) #s(literal 2 binary64)) #s(literal 4 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 #s(literal 0 binary64) (log.f64 r))))))
(/.f64 (*.f64 r r) (exp.f64 (/.f64 #s(literal 0 binary64) (*.f64 (log.f64 r) #s(literal 2 binary64)))))
(/.f64 (*.f64 r r) (PI.f64))
(sqrt.f64 (pow.f64 r #s(literal 4 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 r #s(literal 4 binary64))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 r)) #s(literal 4 binary64)))
(exp.f64 (*.f64 (log.f64 r) #s(literal 2 binary64)))

eval6.0ms (0%)

Memory
4.4MiB live, 4.4MiB allocated
Compiler

Compiled 689 to 170 computations (75.3% saved)

prune3.0ms (0%)

Memory
3.4MiB live, 3.4MiB allocated
Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New54054
Fresh000
Picked033
Done000
Total54357
Accuracy
99.9%
Counts
57 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(*.f64 (*.f64 r r) (PI.f64))
59.2%
(*.f64 r r)
99.7%
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r))
Compiler

Compiled 43 to 29 computations (32.6% saved)

regimes5.0ms (0%)

Memory
5.3MiB live, 5.3MiB allocated
Counts
4 → 1
Calls
Call 1
Inputs
(*.f64 r r)
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r))
(*.f64 (*.f64 r r) (PI.f64))
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64)))
Outputs
(*.f64 (*.f64 r r) (PI.f64))
Calls

3 calls:

2.0ms
r
1.0ms
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64)))
1.0ms
(pow.f64 r #s(literal 2 binary64))
Results
AccuracySegmentsBranch
99.8%1r
99.8%1(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64)))
99.8%1(pow.f64 r #s(literal 2 binary64))
Compiler

Compiled 9 to 9 computations (0% saved)

regimes4.0ms (0%)

Memory
4.4MiB live, 4.4MiB allocated
Counts
2 → 1
Calls
Call 1
Inputs
(*.f64 r r)
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r))
Outputs
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r))
Calls

3 calls:

1.0ms
(pow.f64 r #s(literal 2 binary64))
1.0ms
r
1.0ms
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64)))
Results
AccuracySegmentsBranch
99.7%1r
99.7%1(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64)))
99.7%1(pow.f64 r #s(literal 2 binary64))
Compiler

Compiled 9 to 9 computations (0% saved)

regimes3.0ms (0%)

Memory
4.0MiB live, 4.0MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 r r)
Outputs
(*.f64 r r)
Calls

3 calls:

1.0ms
(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64)))
1.0ms
r
1.0ms
(pow.f64 r #s(literal 2 binary64))
Results
AccuracySegmentsBranch
59.2%1r
59.2%1(*.f64 (PI.f64) (pow.f64 r #s(literal 2 binary64)))
59.2%1(pow.f64 r #s(literal 2 binary64))
Compiler

Compiled 9 to 9 computations (0% saved)

simplify10.0ms (0.1%)

Memory
5.1MiB live, 5.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01119
11319
21719
31919
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 r r) (PI.f64))
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r))
(*.f64 r r)
Outputs
(*.f64 (*.f64 r r) (PI.f64))
#s(approx (* (PI) (pow r 2)) (*.f64 (*.f64 (PI.f64) r) r))
(*.f64 r r)

soundness18.0s (94.2%)

Memory
-57.0MiB live, 174.7MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059
087
1317
21507
39887
472727
083137
058
178
2118
3128
0128
Stop Event
done
iter limit
saturated
iter limit
node limit
iter limit
Compiler

Compiled 24 to 15 computations (37.5% saved)

preprocess21.0ms (0.1%)

Memory
-66.7MiB live, 12.6MiB allocated
Compiler

Compiled 48 to 32 computations (33.3% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...