ln(1 + x)

Time bar (total: 609.0ms)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze1.0ms (0.2%)

Memory
1.4MiB live, 1.4MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
50%50%50%0%0%0%0%2
66.7%50%25%0%0%25%0%3
83.3%62.5%12.5%0%0%25%0%4
91.7%68.7%6.2%0%0%25%0%5
95.8%71.8%3.1%0%0%25%0%6
97.9%73.4%1.6%0%0%25%0%7
99%74.2%0.8%0%0%25%0%8
99.5%74.6%0.4%0%0%25%0%9
99.7%74.8%0.2%0%0%25%0%10
99.9%74.9%0.1%0%0%25%0%11
99.9%74.9%0%0%0%25%0%12
Compiler

Compiled 6 to 4 computations (33.3% saved)

sample413.0ms (67.9%)

Memory
-6.5MiB live, 480.8MiB allocated
Samples
227.0ms8 256×0valid
0.0ms0invalid
Precisions
Click to see histograms. Total time spent on operations: 87.0ms
ival-log1p: 79.0ms (90.6% of total)
ival-true: 6.0ms (6.9% of total)
ival-assert: 3.0ms (3.4% of total)
Bogosity

explain117.0ms (19.2%)

Memory
18.9MiB live, 73.5MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1711(-0.0017552774230841217)0-(log.f64 (+.f64 #s(literal 1 binary64) x))
00-0-(+.f64 #s(literal 1 binary64) x)
00-0-#s(literal 1 binary64)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f64(log.f64 (+.f64 #s(literal 1 binary64) x))sensitivity1720
Confusion
Predicted +Predicted -
+1710
-184
Precision
0.9941860465116279
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+17100
-1084
Precision?
0.9941860465116279
Recall?
1.0
Freqs
test
numberfreq
084
1172
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
18.0ms512×0valid
Compiler

Compiled 35 to 20 computations (42.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-log1p: 5.0ms (60.6% of total)
ival-add: 3.0ms (36.3% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess2.0ms (0.3%)

Memory
4.1MiB live, 4.1MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(log.f64 (+.f64 #s(literal 1 binary64) x))
Outputs
(log.f64 (+.f64 #s(literal 1 binary64) x))
Compiler

Compiled 4 to 4 computations (0% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0.1%)

Memory
0.8MiB live, 0.8MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
37.4%
(log.f64 (+.f64 #s(literal 1 binary64) x))
Compiler

Compiled 4 to 4 computations (0% saved)

simplify0.0ms (0%)

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

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 #s(literal 1 binary64) x)
cost-diff0
(log.f64 (+.f64 #s(literal 1 binary64) x))
Calls
Call 1
Inputs
(log.f64 (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
Outputs
(log.f64 (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x

localize15.0ms (2.5%)

Memory
-20.0MiB live, 20.5MiB allocated
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(+.f64 #s(literal 1 binary64) x)
accuracy40.09396669974284
(log.f64 (+.f64 #s(literal 1 binary64) x))
Samples
11.0ms256×0valid
Compiler

Compiled 20 to 10 computations (50% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-log1p: 2.0ms (48.8% of total)
ival-add: 1.0ms (24.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series1.0ms (0.2%)

Memory
2.3MiB live, 2.3MiB allocated
Counts
2 → 15
Calls
Call 1
Inputs
(log.f64 (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) x)
Outputs
x
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* x (- (* 1/3 x) 1/2))))
(* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))
1
(+ 1 x)
(* -1 (log (/ 1 x)))
(+ (* -1 (log (/ 1 x))) (/ 1 x))
(- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))
(- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))
(* x (+ 1 (/ 1 x)))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@inf
((log (+ 1 x)) (+ 1 x))
0.0ms
x
@-inf
((log (+ 1 x)) (+ 1 x))
0.0ms
x
@0
((log (+ 1 x)) (+ 1 x))

simplify0.0ms (0.1%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
egg-herbie
Counts
15 → 2
Calls
Call 1
Inputs
x
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* x (- (* 1/3 x) 1/2))))
(* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))
1
(+ 1 x)
(* -1 (log (/ 1 x)))
(+ (* -1 (log (/ 1 x))) (/ 1 x))
(- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))
(- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))
(* x (+ 1 (/ 1 x)))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))
Outputs
x
(log.f64 (+.f64 #s(literal 1 binary64) x))
(* x (+ 1 (* -1/2 x)))
(+.f64 #s(literal 1 binary64) x)

rewrite0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Counts
2 → 2
Calls
Call 1
Inputs
(log.f64 (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) x)
Outputs
(log.f64 (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) x)

eval0.0ms (0.1%)

Memory
0.8MiB live, 0.8MiB allocated
Compiler

Compiled 25 to 9 computations (64% saved)

prune1.0ms (0.1%)

Memory
1.6MiB live, 1.6MiB allocated
Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New314
Fresh000
Picked011
Done000
Total325
Accuracy
37.9%
Counts
5 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
37.4%
(log.f64 (+.f64 #s(literal 1 binary64) x))
4.4%
#s(approx (log (+ 1 x)) (+.f64 #s(literal 1 binary64) x))
Compiler

Compiled 12 to 11 computations (8.3% saved)

simplify0.0ms (0%)

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

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 #s(literal 1 binary64) x)
cost-diff0
#s(approx (log (+ 1 x)) (+.f64 #s(literal 1 binary64) x))
Calls
Call 1
Inputs
#s(approx (log (+ 1 x)) (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
Outputs
#s(approx (log (+ 1 x)) (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x

localize14.0ms (2.4%)

Memory
-19.9MiB live, 18.2MiB allocated
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(+.f64 #s(literal 1 binary64) x)
accuracy61.15939434469436
#s(approx (log (+ 1 x)) (+.f64 #s(literal 1 binary64) x))
Samples
10.0ms256×0valid
Compiler

Compiled 24 to 13 computations (45.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-log1p: 4.0ms (68.3% of total)
ival-add: 1.0ms (17.1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series1.0ms (0.1%)

Memory
1.0MiB live, 1.0MiB allocated
Counts
2 → 15
Calls
Call 1
Inputs
#s(approx (log (+ 1 x)) (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) x)
Outputs
x
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* x (- (* 1/3 x) 1/2))))
(* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))
1
(+ 1 x)
(* -1 (log (/ 1 x)))
(+ (* -1 (log (/ 1 x))) (/ 1 x))
(- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))
(- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))
(* x (+ 1 (/ 1 x)))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
((log (+ 1 x)) (+ 1 x))
0.0ms
x
@inf
((log (+ 1 x)) (+ 1 x))
0.0ms
x
@0
((log (+ 1 x)) (+ 1 x))

simplify0.0ms (0.1%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
egg-herbie
Counts
15 → 2
Calls
Call 1
Inputs
x
(* x (+ 1 (* -1/2 x)))
(* x (+ 1 (* x (- (* 1/3 x) 1/2))))
(* x (+ 1 (* x (- (* x (+ 1/3 (* -1/4 x))) 1/2))))
1
(+ 1 x)
(* -1 (log (/ 1 x)))
(+ (* -1 (log (/ 1 x))) (/ 1 x))
(- (+ (* -1 (log (/ 1 x))) (/ 1 x)) (/ 1/2 (pow x 2)))
(- (+ (* -1 (log (/ 1 x))) (+ (/ 1 x) (* 1/3 (/ 1 (pow x 3))))) (/ 1/2 (pow x 2)))
(* x (+ 1 (/ 1 x)))
(+ (log -1) (* -1 (log (/ -1 x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (/ 1 x)))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* 1/2 (/ 1 x)) 1) x))))
(+ (log -1) (+ (* -1 (log (/ -1 x))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 x)) 1/2) x)) 1) x))))
Outputs
x
#s(approx (log (+ 1 x)) (+.f64 #s(literal 1 binary64) x))
(* x (+ 1 (* -1/2 x)))
(+.f64 #s(literal 1 binary64) x)

rewrite0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (log (+ 1 x)) (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) x)
Outputs
#s(approx (log (+ 1 x)) (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) x)

eval0.0ms (0.1%)

Memory
0.8MiB live, 0.8MiB allocated
Compiler

Compiled 29 to 8 computations (72.4% saved)

prune2.0ms (0.3%)

Memory
3.1MiB live, 3.1MiB allocated
Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New303
Fresh000
Picked011
Done011
Total325
Accuracy
37.9%
Counts
5 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
37.4%
(log.f64 (+.f64 #s(literal 1 binary64) x))
4.4%
#s(approx (log (+ 1 x)) (+.f64 #s(literal 1 binary64) x))
Compiler

Compiled 24 to 19 computations (20.8% saved)

regimes4.0ms (0.7%)

Memory
8.9MiB live, 8.9MiB allocated
Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (log (+ 1 x)) (+.f64 #s(literal 1 binary64) x))
(log.f64 (+.f64 #s(literal 1 binary64) x))
Outputs
(log.f64 (+.f64 #s(literal 1 binary64) x))
Calls

3 calls:

1.0ms
x
1.0ms
(+.f64 #s(literal 1 binary64) x)
1.0ms
(log.f64 (+.f64 #s(literal 1 binary64) x))
Results
AccuracySegmentsBranch
37.4%1x
37.4%1(log.f64 (+.f64 #s(literal 1 binary64) x))
37.4%1(+.f64 #s(literal 1 binary64) x)
Compiler

Compiled 8 to 8 computations (0% saved)

regimes3.0ms (0.6%)

Memory
7.0MiB live, 7.0MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (log (+ 1 x)) (+.f64 #s(literal 1 binary64) x))
Outputs
#s(approx (log (+ 1 x)) (+.f64 #s(literal 1 binary64) x))
Calls

3 calls:

1.0ms
x
1.0ms
(log.f64 (+.f64 #s(literal 1 binary64) x))
1.0ms
(+.f64 #s(literal 1 binary64) x)
Results
AccuracySegmentsBranch
4.4%1x
4.4%1(log.f64 (+.f64 #s(literal 1 binary64) x))
4.4%1(+.f64 #s(literal 1 binary64) x)
Compiler

Compiled 8 to 8 computations (0% saved)

simplify4.0ms (0.7%)

Memory
8.5MiB live, 8.5MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(log.f64 (+.f64 #s(literal 1 binary64) x))
#s(approx (log (+ 1 x)) (+.f64 #s(literal 1 binary64) x))
Outputs
(log.f64 (+.f64 #s(literal 1 binary64) x))
#s(approx (log (+ 1 x)) (+.f64 #s(literal 1 binary64) x))

soundness0.0ms (0.1%)

Memory
0.8MiB live, 0.8MiB allocated
Stop Event
done
Compiler

Compiled 12 to 8 computations (33.3% saved)

preprocess26.0ms (4.2%)

Memory
2.4MiB live, 40.5MiB allocated
Compiler

Compiled 70 to 42 computations (40% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...