Logistic function from Lakshay Garg

Time bar (total: 1.9s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
100%100%0%0%0%0%0%1
Compiler

Compiled 12 to 11 computations (8.3% saved)

sample1.4s (72.9%)

Memory
50.1MiB live, 2 166.7MiB allocated; 418ms collecting garbage
Samples
528.0ms1 776×2valid
361.0ms2 415×1valid
251.0ms4 065×0valid
Precisions
Click to see histograms. Total time spent on operations: 908.0ms
ival-exp: 446.0ms (49.1% of total)
adjust: 123.0ms (13.5% of total)
ival-div!: 119.0ms (13.1% of total)
ival-add!: 105.0ms (11.6% of total)
ival-sub!: 61.0ms (6.7% of total)
ival-mult!: 54.0ms (5.9% of total)
Bogosity

preprocess44.0ms (2.3%)

Memory
-47.2MiB live, 53.5MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01632
15730
218630
389730
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.5%
(-.f64 (/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))) #s(literal 1 binary64))
Compiler

Compiled 20 to 18 computations (10% saved)

series6.0ms (0.3%)

Memory
13.2MiB live, 13.2MiB allocated; 0ms collecting garbage
Counts
9 → 20
Calls
Call 1
Inputs
(-.f64 (/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))) #s(literal 1 binary64))
(/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x))))
#s(literal 2 binary64)
(+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))
#s(literal 1 binary64)
(exp.f64 (*.f64 #s(literal -2 binary64) x))
(*.f64 #s(literal -2 binary64) x)
#s(literal -2 binary64)
x
Outputs
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 x))
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 (* x (+ 1 (* -1/3 (pow x 2))))))
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))))
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 2/15 (* -17/315 (pow x 2)))) 1/3))))))
#s(approx (/ 2 (+ 1 (exp (* -2 x)))) #s(hole binary64 1))
#s(approx (/ 2 (+ 1 (exp (* -2 x)))) #s(hole binary64 (+ 1 x)))
#s(approx (/ 2 (+ 1 (exp (* -2 x)))) #s(hole binary64 (+ 1 (* x (+ 1 (* -1/3 (pow x 2)))))))
#s(approx (/ 2 (+ 1 (exp (* -2 x)))) #s(hole binary64 (+ 1 (* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3)))))))
#s(approx (+ 1 (exp (* -2 x))) #s(hole binary64 2))
#s(approx (+ 1 (exp (* -2 x))) #s(hole binary64 (+ 2 (* -2 x))))
#s(approx (+ 1 (exp (* -2 x))) #s(hole binary64 (+ 2 (* x (- (* 2 x) 2)))))
#s(approx (+ 1 (exp (* -2 x))) #s(hole binary64 (+ 2 (* x (- (* x (+ 2 (* -4/3 x))) 2)))))
#s(approx (exp (* -2 x)) #s(hole binary64 (+ 1 (* -2 x))))
#s(approx (exp (* -2 x)) #s(hole binary64 (+ 1 (* x (- (* 2 x) 2)))))
#s(approx (exp (* -2 x)) #s(hole binary64 (+ 1 (* x (- (* x (+ 2 (* -4/3 x))) 2)))))
#s(approx (* -2 x) #s(hole binary64 (* -2 x)))
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 (- (* 2 (/ 1 (+ 1 (exp (* -2 x))))) 1)))
#s(approx (/ 2 (+ 1 (exp (* -2 x)))) #s(hole binary64 (/ 2 (+ 1 (exp (* -2 x))))))
#s(approx (+ 1 (exp (* -2 x))) #s(hole binary64 (+ 1 (exp (* -2 x)))))
#s(approx (exp (* -2 x)) #s(hole binary64 (exp (* -2 x))))
Calls

3 calls:

TimeVariablePointExpression
2.0ms
x
@-inf
((- (/ 2 (+ 1 (exp (* -2 x)))) 1) (/ 2 (+ 1 (exp (* -2 x)))) 2 (+ 1 (exp (* -2 x))) 1 (exp (* -2 x)) (* -2 x) -2 x)
2.0ms
x
@inf
((- (/ 2 (+ 1 (exp (* -2 x)))) 1) (/ 2 (+ 1 (exp (* -2 x)))) 2 (+ 1 (exp (* -2 x))) 1 (exp (* -2 x)) (* -2 x) -2 x)
1.0ms
x
@0
((- (/ 2 (+ 1 (exp (* -2 x)))) 1) (/ 2 (+ 1 (exp (* -2 x)))) 2 (+ 1 (exp (* -2 x))) 1 (exp (* -2 x)) (* -2 x) -2 x)

rewrite187.0ms (9.8%)

Memory
43.2MiB live, 225.7MiB allocated; 10ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
075360
082358
1489348
23128348
Stop Event
iter-limit
unsound
node-limit
iter-limit
Counts
29 → 17
Calls
Call 1
Inputs
(-.f64 (/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))) #s(literal 1 binary64))
(/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x))))
#s(literal 2 binary64)
(+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))
#s(literal 1 binary64)
(exp.f64 (*.f64 #s(literal -2 binary64) x))
(*.f64 #s(literal -2 binary64) x)
#s(literal -2 binary64)
x
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 x))
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 (* x (+ 1 (* -1/3 (pow x 2))))))
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))))
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 2/15 (* -17/315 (pow x 2)))) 1/3))))))
#s(approx (/ 2 (+ 1 (exp (* -2 x)))) #s(hole binary64 1))
#s(approx (/ 2 (+ 1 (exp (* -2 x)))) #s(hole binary64 (+ 1 x)))
#s(approx (/ 2 (+ 1 (exp (* -2 x)))) #s(hole binary64 (+ 1 (* x (+ 1 (* -1/3 (pow x 2)))))))
#s(approx (/ 2 (+ 1 (exp (* -2 x)))) #s(hole binary64 (+ 1 (* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3)))))))
#s(approx (+ 1 (exp (* -2 x))) #s(hole binary64 2))
#s(approx (+ 1 (exp (* -2 x))) #s(hole binary64 (+ 2 (* -2 x))))
#s(approx (+ 1 (exp (* -2 x))) #s(hole binary64 (+ 2 (* x (- (* 2 x) 2)))))
#s(approx (+ 1 (exp (* -2 x))) #s(hole binary64 (+ 2 (* x (- (* x (+ 2 (* -4/3 x))) 2)))))
#s(approx (exp (* -2 x)) #s(hole binary64 (+ 1 (* -2 x))))
#s(approx (exp (* -2 x)) #s(hole binary64 (+ 1 (* x (- (* 2 x) 2)))))
#s(approx (exp (* -2 x)) #s(hole binary64 (+ 1 (* x (- (* x (+ 2 (* -4/3 x))) 2)))))
#s(approx (* -2 x) #s(hole binary64 (* -2 x)))
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 (- (* 2 (/ 1 (+ 1 (exp (* -2 x))))) 1)))
#s(approx (/ 2 (+ 1 (exp (* -2 x)))) #s(hole binary64 (/ 2 (+ 1 (exp (* -2 x))))))
#s(approx (+ 1 (exp (* -2 x))) #s(hole binary64 (+ 1 (exp (* -2 x)))))
#s(approx (exp (* -2 x)) #s(hole binary64 (exp (* -2 x))))
Outputs
(-.f64 (/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))) #s(literal 1 binary64))
(/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x))))
#s(literal 2 binary64)
(+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))
#s(literal 1 binary64)
(exp.f64 (*.f64 #s(literal -2 binary64) x))
(*.f64 #s(literal -2 binary64) x)
#s(literal -2 binary64)
x
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) x)
#s(approx (/ 2 (+ 1 (exp (* -2 x)))) #s(literal 1 binary64))
#s(approx (+ 1 (exp (* -2 x))) #s(literal 2 binary64))
#s(approx (* -2 x) (*.f64 #s(literal -2 binary64) x))
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) (-.f64 (/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))) #s(literal 1 binary64)))
#s(approx (/ 2 (+ 1 (exp (* -2 x)))) (/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))))
#s(approx (+ 1 (exp (* -2 x))) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x))))
#s(approx (exp (* -2 x)) (exp.f64 (*.f64 #s(literal -2 binary64) x)))

eval4.0ms (0.2%)

Memory
-41.6MiB live, 2.1MiB allocated; 3ms collecting garbage
Compiler

Compiled 71 to 38 computations (46.5% saved)

prune1.0ms (0.1%)

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

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New718
Fresh000
Picked011
Done000
Total729
Accuracy
99.7%
Counts
9 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.5%
(-.f64 (/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))) #s(literal 1 binary64))
51.3%
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) x)
Compiler

Compiled 20 to 19 computations (5% saved)

series1.0ms (0.1%)

Memory
4.5MiB live, 4.5MiB allocated; 0ms collecting garbage
Counts
2 → 5
Calls
Call 1
Inputs
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) x)
x
Outputs
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 x))
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 (* x (+ 1 (* -1/3 (pow x 2))))))
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))))
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 2/15 (* -17/315 (pow x 2)))) 1/3))))))
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 (- (* 2 (/ 1 (+ 1 (exp (* -2 x))))) 1)))
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@inf
((- (/ 2 (+ 1 (exp (* -2 x)))) 1) x)
1.0ms
x
@-inf
((- (/ 2 (+ 1 (exp (* -2 x)))) 1) x)
0.0ms
x
@0
((- (/ 2 (+ 1 (exp (* -2 x)))) 1) x)

rewrite199.0ms (10.4%)

Memory
21.8MiB live, 157.9MiB allocated; 62ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
037126
037124
1257124
21585118
Stop Event
iter-limit
unsound
node-limit
saturated
Counts
7 → 3
Calls
Call 1
Inputs
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) x)
x
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 x))
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 (* x (+ 1 (* -1/3 (pow x 2))))))
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))))
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 (* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 2/15 (* -17/315 (pow x 2)))) 1/3))))))
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) #s(hole binary64 (- (* 2 (/ 1 (+ 1 (exp (* -2 x))))) 1)))
Outputs
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) x)
x
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) x)

eval0.0ms (0%)

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

Compiled 0 to 1 computations (-∞% saved)

prune1.0ms (0.1%)

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

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done011
Total022
Accuracy
99.7%
Counts
2 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.5%
(-.f64 (/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))) #s(literal 1 binary64))
51.3%
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) x)
Compiler

Compiled 39 to 37 computations (5.1% saved)

regimes6.0ms (0.3%)

Memory
12.3MiB live, 12.3MiB allocated; 0ms collecting garbage
Counts
2 → 3
Calls
Call 1
Inputs
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) x)
(-.f64 (/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))) #s(literal 1 binary64))
Outputs
(-.f64 (/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))) #s(literal 1 binary64))
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) x)
(-.f64 (/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))) #s(literal 1 binary64))
Calls

6 calls:

1.0ms
(*.f64 #s(literal -2 binary64) x)
1.0ms
x
1.0ms
(-.f64 (/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))) #s(literal 1 binary64))
1.0ms
(/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x))))
1.0ms
(+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))
Results
AccuracySegmentsBranch
99.7%3(*.f64 #s(literal -2 binary64) x)
99.7%3(exp.f64 (*.f64 #s(literal -2 binary64) x))
99.7%3(+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))
99.7%3(/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x))))
99.7%3(-.f64 (/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))) #s(literal 1 binary64))
99.7%3x
Compiler

Compiled 32 to 31 computations (3.1% saved)

regimes5.0ms (0.3%)

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

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) x)
Outputs
#s(approx (- (/ 2 (+ 1 (exp (* -2 x)))) 1) x)
Calls

6 calls:

1.0ms
(*.f64 #s(literal -2 binary64) x)
1.0ms
x
1.0ms
(-.f64 (/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))) #s(literal 1 binary64))
1.0ms
(/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x))))
1.0ms
(+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))
Results
AccuracySegmentsBranch
51.3%1(*.f64 #s(literal -2 binary64) x)
51.3%1(exp.f64 (*.f64 #s(literal -2 binary64) x))
51.3%1(+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))
51.3%1(/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x))))
51.3%1(-.f64 (/.f64 #s(literal 2 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (*.f64 #s(literal -2 binary64) x)))) #s(literal 1 binary64))
51.3%1x
Compiler

Compiled 32 to 31 computations (3.1% saved)

bsearch38.0ms (2%)

Memory
-12.2MiB live, 37.4MiB allocated; 5ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
19.0ms
1.0848852796409777e-10
32.191019889155946
16.0ms
-0.0018623716034859544
-1.0220784581390717e-6
Samples
17.0ms176×1valid
5.0ms112×0valid
Compiler

Compiled 373 to 391 computations (-4.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-exp: 6.0ms (38.9% of total)
adjust: 3.0ms (19.5% of total)
ival-div!: 2.0ms (13% of total)
ival-mult!: 2.0ms (13% of total)
ival-add!: 1.0ms (6.5% of total)
ival-sub!: 1.0ms (6.5% of total)

derivations10.0ms (0.5%)

Memory
9.3MiB live, 9.3MiB allocated; 0ms collecting garbage
Stop Event
done
Compiler

Compiled 25 to 24 computations (4% saved)

preprocess17.0ms (0.9%)

Memory
-19.7MiB live, 26.6MiB allocated; 3ms collecting garbage
Compiler

Compiled 35 to 33 computations (5.7% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...