Logistic distribution

Time bar (total: 1.4s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze52.0ms (3.6%)

Memory
-15.1MiB live, 67.9MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%24.7%75.3%0%0%0%0
0%0%24.7%75.3%0%0%0%1
0%0%24.7%75.3%0%0%0%2
0%0%24.7%75.3%0%0%0%3
0%0%24.7%75.3%0%0%0%4
50%12.4%12.4%75.3%0%0%0%5
50%12.4%12.4%75.3%0%0%0%6
75%18.5%6.2%75.3%0%0%0%7
75%18.5%6.2%75.3%0%0%0%8
87.5%21.6%3.1%75.3%0%0%0%9
87.5%21.6%3.1%75.3%0%0%0%10
93.7%23.2%1.5%75.3%0%0%0%11
93.7%23.2%1.5%75.3%0%0%0%12
Compiler

Compiled 34 to 17 computations (50% saved)

sample1.2s (80.7%)

Memory
38.0MiB live, 1 618.2MiB allocated
Samples
845.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 631.0ms
ival-div: 128.0ms (20.3% of total)
const: 118.0ms (18.7% of total)
ival-mult: 95.0ms (15% of total)
ival-exp: 78.0ms (12.4% of total)
ival-fabs: 59.0ms (9.3% of total)
ival-<=: 53.0ms (8.4% of total)
ival-add: 40.0ms (6.3% of total)
ival-neg: 32.0ms (5.1% of total)
exact: 13.0ms (2.1% of total)
ival-and: 12.0ms (1.9% of total)
ival-assert: 4.0ms (0.6% of total)
Bogosity

explain133.0ms (9.3%)

Memory
-18.3MiB live, 298.1MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
10-1(1.2125243972773462e-22 1.2531889699843044e-24)(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
00-0-(+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))
00-0-#s(literal 1 binary32)
06(-0.0030783144757151604 1.1786364666477311e-5)0-(exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))
00-0-s
00-0-(neg.f32 (fabs.f32 x))
00-0-(*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))
00-0-(/.f32 (neg.f32 (fabs.f32 x)) s)
00-0-(*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))
00-0-x
00-0-(fabs.f32 x)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
exp.f32(exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))sensitivity62
Confusion
Predicted +Predicted -
+01
-6249
Precision
0.0
Recall
0.0
Confusion?
Predicted +Predicted MaybePredicted -
+010
-61248
Precision?
0.125
Recall?
1.0
Freqs
test
numberfreq
0250
16
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
43.0ms512×0valid
Compiler

Compiled 276 to 48 computations (82.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 27.0ms
ival-div: 7.0ms (26.4% of total)
ival-mult: 6.0ms (22.6% of total)
ival-exp: 5.0ms (18.8% of total)
ival-fabs: 3.0ms (11.3% of total)
ival-add: 2.0ms (7.5% of total)
ival-neg: 2.0ms (7.5% of total)
ival-true: 1.0ms (3.8% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess3.0ms (0.2%)

Memory
6.5MiB live, 6.5MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
Outputs
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
Compiler

Compiled 26 to 11 computations (57.7% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
Compiler

Compiled 26 to 11 computations (57.7% saved)

simplify1.0ms (0%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(neg.f32 (fabs.f32 x))
cost-diff0
(/.f32 (neg.f32 (fabs.f32 x)) s)
cost-diff0
(exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))
cost-diff0
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
Calls
Call 1
Inputs
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
(exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))
(/.f32 (neg.f32 (fabs.f32 x)) s)
(neg.f32 (fabs.f32 x))
(fabs.f32 x)
x
s
(*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))
(*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))
(+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))
#s(literal 1 binary32)
Outputs
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
(exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))
(/.f32 (neg.f32 (fabs.f32 x)) s)
(neg.f32 (fabs.f32 x))
(fabs.f32 x)
x
s
(*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))
(*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))
(+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))
#s(literal 1 binary32)

localize29.0ms (2%)

Memory
20.2MiB live, 58.0MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.015625
(+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))
accuracy0.01953125
(*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))
accuracy0.034403730164287515
(exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))
accuracy0.06592239531266803
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
Samples
19.0ms256×0valid
Compiler

Compiled 166 to 24 computations (85.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-div: 3.0ms (24.2% of total)
ival-mult: 3.0ms (24.2% of total)
ival-exp: 2.0ms (16.1% of total)
ival-add: 1.0ms (8.1% of total)
ival-fabs: 1.0ms (8.1% of total)
ival-neg: 1.0ms (8.1% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series21.0ms (1.4%)

Memory
-36.0MiB live, 44.2MiB allocated
Counts
6 → 32
Calls
Call 1
Inputs
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
(exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))
(/.f32 (neg.f32 (fabs.f32 x)) s)
(neg.f32 (fabs.f32 x))
(*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))
(+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))
Outputs
(/ (exp (* -1 (/ (fabs x) s))) (* s (pow (+ 1 (exp (* -1 (/ (fabs x) s)))) 2)))
(exp (* -1 (/ (fabs x) s)))
(* -1 (/ (fabs x) s))
(* -1 (fabs x))
(* s (pow (+ 1 (exp (* -1 (/ (fabs x) s)))) 2))
(+ 1 (exp (* -1 (/ (fabs x) s))))
(/ 1/4 s)
(/ (- (+ 1/4 (* 1/8 (/ (pow (fabs x) 2) (pow s 2)))) (* 1/16 (/ (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)) (pow s 2)))) s)
(/ (- (+ 1/4 (+ (* -1/24 (/ (pow (fabs x) 3) (pow s 3))) (* 1/8 (/ (pow (fabs x) 2) (pow s 2))))) (+ (* -1 (/ (* (fabs x) (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2))))) (pow s 3))) (+ (* 1/16 (/ (+ (* -1 (pow (fabs x) 3)) (* -2/3 (pow (fabs x) 3))) (pow s 3))) (* 1/16 (/ (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)) (pow s 2)))))) s)
(/ (- (+ 1/4 (+ (* -1/24 (/ (pow (fabs x) 3) (pow s 3))) (+ (* 1/96 (/ (pow (fabs x) 4) (pow s 4))) (* 1/8 (/ (pow (fabs x) 2) (pow s 2)))))) (+ (* -1 (/ (* (fabs x) (- (* -1/24 (pow (fabs x) 3)) (+ (* -1 (* (fabs x) (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)))))) (* 1/16 (+ (* -1 (pow (fabs x) 3)) (* -2/3 (pow (fabs x) 3))))))) (pow s 4))) (+ (* -1 (/ (* (fabs x) (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2))))) (pow s 3))) (+ (* 1/16 (/ (+ (* -1 (pow (fabs x) 3)) (* -2/3 (pow (fabs x) 3))) (pow s 3))) (+ (* 1/16 (/ (+ (* 1/6 (pow (fabs x) 4)) (+ (* 1/4 (pow (fabs x) 4)) (* 1/3 (pow (fabs x) 4)))) (pow s 4))) (+ (* 1/16 (/ (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)) (pow s 2))) (* 1/4 (/ (* (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)) (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2))))) (pow s 4))))))))) s)
1
(+ 1 (* -1 (/ (fabs x) s)))
(+ 1 (+ (* -1 (/ (fabs x) s)) (* 1/2 (/ (pow (fabs x) 2) (pow s 2)))))
(+ 1 (+ (* -1 (/ (fabs x) s)) (+ (* -1/6 (/ (pow (fabs x) 3) (pow s 3))) (* 1/2 (/ (pow (fabs x) 2) (pow s 2))))))
(* 4 s)
(* s (+ 4 (* -4 (/ (fabs x) s))))
(* s (+ 4 (+ (* -4 (/ (fabs x) s)) (+ (* 2 (/ (pow (fabs x) 2) (pow s 2))) (/ (pow (fabs x) 2) (pow s 2))))))
(* s (+ 4 (+ (* -4 (/ (fabs x) s)) (+ (* -1 (/ (pow (fabs x) 3) (pow s 3))) (+ (* -2/3 (/ (pow (fabs x) 3) (pow s 3))) (+ (* 2 (/ (pow (fabs x) 2) (pow s 2))) (/ (pow (fabs x) 2) (pow s 2))))))))
2
(+ 2 (* -1 (/ (fabs x) s)))
(+ 2 (+ (* -1 (/ (fabs x) s)) (* 1/2 (/ (pow (fabs x) 2) (pow s 2)))))
(+ 2 (+ (* -1 (/ (fabs x) s)) (+ (* -1/6 (/ (pow (fabs x) 3) (pow s 3))) (* 1/2 (/ (pow (fabs x) 2) (pow s 2))))))
(* -1 (/ (- (* -1 (/ (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)))) (pow s 2))) 1/4) s))
(* -1 (/ (- (+ (* -1 (/ (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)))) (pow s 2))) (* 1/24 (/ (pow (fabs x) 3) (pow s 3)))) (+ 1/4 (+ (* 1/16 (/ (+ (* 2/3 (pow (fabs x) 3)) (pow (fabs x) 3)) (pow s 3))) (/ (* (fabs x) (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2))))) (pow s 3))))) s))
(* -1 (/ (- (+ (* -1 (/ (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)))) (pow s 2))) (* -1 (/ (- (+ (* -1 (- (* 1/24 (pow (fabs x) 3)) (+ (* 1/16 (+ (* 2/3 (pow (fabs x) 3)) (pow (fabs x) 3))) (* (fabs x) (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)))))))) (* 1/96 (/ (pow (fabs x) 4) s))) (+ (* 1/16 (/ (+ (* 1/6 (pow (fabs x) 4)) (+ (* 1/4 (pow (fabs x) 4)) (* 1/3 (pow (fabs x) 4)))) s)) (+ (* 1/4 (/ (* (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)) (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2))))) s)) (/ (* (fabs x) (- (* 1/24 (pow (fabs x) 3)) (+ (* 1/16 (+ (* 2/3 (pow (fabs x) 3)) (pow (fabs x) 3))) (* (fabs x) (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)))))))) s)))) (pow s 3)))) 1/4) s))
(+ 1 (* -1 (/ (+ (fabs x) (* -1/2 (/ (pow (fabs x) 2) s))) s)))
(+ 1 (* -1 (/ (+ (fabs x) (* -1 (/ (+ (* -1/6 (/ (pow (fabs x) 3) s)) (* 1/2 (pow (fabs x) 2))) s))) s)))
(* -1 (* s (- (* 4 (/ (fabs x) s)) 4)))
(* -1 (* s (- (* -1 (/ (+ (* -4 (fabs x)) (+ (* 2 (/ (pow (fabs x) 2) s)) (/ (pow (fabs x) 2) s))) s)) 4)))
(* -1 (* s (- (* -1 (/ (+ (* -4 (fabs x)) (* -1 (/ (+ (* -1 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2))) (+ (* 2/3 (/ (pow (fabs x) 3) s)) (/ (pow (fabs x) 3) s))) s))) s)) 4)))
(+ 2 (* -1 (/ (+ (fabs x) (* -1/2 (/ (pow (fabs x) 2) s))) s)))
(+ 2 (* -1 (/ (+ (fabs x) (* -1 (/ (+ (* -1/6 (/ (pow (fabs x) 3) s)) (* 1/2 (pow (fabs x) 2))) s))) s)))
Calls

6 calls:

TimeVariablePointExpression
5.0ms
s
@inf
((/ (exp (/ (neg (fabs x)) s)) (* (* s (+ 1 (exp (/ (neg (fabs x)) s)))) (+ 1 (exp (/ (neg (fabs x)) s))))) (exp (/ (neg (fabs x)) s)) (/ (neg (fabs x)) s) (neg (fabs x)) (* (* s (+ 1 (exp (/ (neg (fabs x)) s)))) (+ 1 (exp (/ (neg (fabs x)) s)))) (+ 1 (exp (/ (neg (fabs x)) s))))
4.0ms
s
@-inf
((/ (exp (/ (neg (fabs x)) s)) (* (* s (+ 1 (exp (/ (neg (fabs x)) s)))) (+ 1 (exp (/ (neg (fabs x)) s))))) (exp (/ (neg (fabs x)) s)) (/ (neg (fabs x)) s) (neg (fabs x)) (* (* s (+ 1 (exp (/ (neg (fabs x)) s)))) (+ 1 (exp (/ (neg (fabs x)) s)))) (+ 1 (exp (/ (neg (fabs x)) s))))
3.0ms
x
@-inf
((/ (exp (/ (neg (fabs x)) s)) (* (* s (+ 1 (exp (/ (neg (fabs x)) s)))) (+ 1 (exp (/ (neg (fabs x)) s))))) (exp (/ (neg (fabs x)) s)) (/ (neg (fabs x)) s) (neg (fabs x)) (* (* s (+ 1 (exp (/ (neg (fabs x)) s)))) (+ 1 (exp (/ (neg (fabs x)) s)))) (+ 1 (exp (/ (neg (fabs x)) s))))
2.0ms
x
@inf
((/ (exp (/ (neg (fabs x)) s)) (* (* s (+ 1 (exp (/ (neg (fabs x)) s)))) (+ 1 (exp (/ (neg (fabs x)) s))))) (exp (/ (neg (fabs x)) s)) (/ (neg (fabs x)) s) (neg (fabs x)) (* (* s (+ 1 (exp (/ (neg (fabs x)) s)))) (+ 1 (exp (/ (neg (fabs x)) s)))) (+ 1 (exp (/ (neg (fabs x)) s))))
2.0ms
x
@0
((/ (exp (/ (neg (fabs x)) s)) (* (* s (+ 1 (exp (/ (neg (fabs x)) s)))) (+ 1 (exp (/ (neg (fabs x)) s))))) (exp (/ (neg (fabs x)) s)) (/ (neg (fabs x)) s) (neg (fabs x)) (* (* s (+ 1 (exp (/ (neg (fabs x)) s)))) (+ 1 (exp (/ (neg (fabs x)) s)))) (+ 1 (exp (/ (neg (fabs x)) s))))

simplify1.0ms (0.1%)

Memory
2.6MiB live, 2.6MiB allocated
Algorithm
egg-herbie
Counts
32 → 6
Calls
Call 1
Inputs
(/ (exp (* -1 (/ (fabs x) s))) (* s (pow (+ 1 (exp (* -1 (/ (fabs x) s)))) 2)))
(exp (* -1 (/ (fabs x) s)))
(* -1 (/ (fabs x) s))
(* -1 (fabs x))
(* s (pow (+ 1 (exp (* -1 (/ (fabs x) s)))) 2))
(+ 1 (exp (* -1 (/ (fabs x) s))))
(/ 1/4 s)
(/ (- (+ 1/4 (* 1/8 (/ (pow (fabs x) 2) (pow s 2)))) (* 1/16 (/ (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)) (pow s 2)))) s)
(/ (- (+ 1/4 (+ (* -1/24 (/ (pow (fabs x) 3) (pow s 3))) (* 1/8 (/ (pow (fabs x) 2) (pow s 2))))) (+ (* -1 (/ (* (fabs x) (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2))))) (pow s 3))) (+ (* 1/16 (/ (+ (* -1 (pow (fabs x) 3)) (* -2/3 (pow (fabs x) 3))) (pow s 3))) (* 1/16 (/ (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)) (pow s 2)))))) s)
(/ (- (+ 1/4 (+ (* -1/24 (/ (pow (fabs x) 3) (pow s 3))) (+ (* 1/96 (/ (pow (fabs x) 4) (pow s 4))) (* 1/8 (/ (pow (fabs x) 2) (pow s 2)))))) (+ (* -1 (/ (* (fabs x) (- (* -1/24 (pow (fabs x) 3)) (+ (* -1 (* (fabs x) (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)))))) (* 1/16 (+ (* -1 (pow (fabs x) 3)) (* -2/3 (pow (fabs x) 3))))))) (pow s 4))) (+ (* -1 (/ (* (fabs x) (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2))))) (pow s 3))) (+ (* 1/16 (/ (+ (* -1 (pow (fabs x) 3)) (* -2/3 (pow (fabs x) 3))) (pow s 3))) (+ (* 1/16 (/ (+ (* 1/6 (pow (fabs x) 4)) (+ (* 1/4 (pow (fabs x) 4)) (* 1/3 (pow (fabs x) 4)))) (pow s 4))) (+ (* 1/16 (/ (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)) (pow s 2))) (* 1/4 (/ (* (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)) (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2))))) (pow s 4))))))))) s)
1
(+ 1 (* -1 (/ (fabs x) s)))
(+ 1 (+ (* -1 (/ (fabs x) s)) (* 1/2 (/ (pow (fabs x) 2) (pow s 2)))))
(+ 1 (+ (* -1 (/ (fabs x) s)) (+ (* -1/6 (/ (pow (fabs x) 3) (pow s 3))) (* 1/2 (/ (pow (fabs x) 2) (pow s 2))))))
(* 4 s)
(* s (+ 4 (* -4 (/ (fabs x) s))))
(* s (+ 4 (+ (* -4 (/ (fabs x) s)) (+ (* 2 (/ (pow (fabs x) 2) (pow s 2))) (/ (pow (fabs x) 2) (pow s 2))))))
(* s (+ 4 (+ (* -4 (/ (fabs x) s)) (+ (* -1 (/ (pow (fabs x) 3) (pow s 3))) (+ (* -2/3 (/ (pow (fabs x) 3) (pow s 3))) (+ (* 2 (/ (pow (fabs x) 2) (pow s 2))) (/ (pow (fabs x) 2) (pow s 2))))))))
2
(+ 2 (* -1 (/ (fabs x) s)))
(+ 2 (+ (* -1 (/ (fabs x) s)) (* 1/2 (/ (pow (fabs x) 2) (pow s 2)))))
(+ 2 (+ (* -1 (/ (fabs x) s)) (+ (* -1/6 (/ (pow (fabs x) 3) (pow s 3))) (* 1/2 (/ (pow (fabs x) 2) (pow s 2))))))
(* -1 (/ (- (* -1 (/ (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)))) (pow s 2))) 1/4) s))
(* -1 (/ (- (+ (* -1 (/ (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)))) (pow s 2))) (* 1/24 (/ (pow (fabs x) 3) (pow s 3)))) (+ 1/4 (+ (* 1/16 (/ (+ (* 2/3 (pow (fabs x) 3)) (pow (fabs x) 3)) (pow s 3))) (/ (* (fabs x) (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2))))) (pow s 3))))) s))
(* -1 (/ (- (+ (* -1 (/ (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)))) (pow s 2))) (* -1 (/ (- (+ (* -1 (- (* 1/24 (pow (fabs x) 3)) (+ (* 1/16 (+ (* 2/3 (pow (fabs x) 3)) (pow (fabs x) 3))) (* (fabs x) (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)))))))) (* 1/96 (/ (pow (fabs x) 4) s))) (+ (* 1/16 (/ (+ (* 1/6 (pow (fabs x) 4)) (+ (* 1/4 (pow (fabs x) 4)) (* 1/3 (pow (fabs x) 4)))) s)) (+ (* 1/4 (/ (* (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)) (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2))))) s)) (/ (* (fabs x) (- (* 1/24 (pow (fabs x) 3)) (+ (* 1/16 (+ (* 2/3 (pow (fabs x) 3)) (pow (fabs x) 3))) (* (fabs x) (- (* 1/8 (pow (fabs x) 2)) (* 1/16 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2)))))))) s)))) (pow s 3)))) 1/4) s))
(+ 1 (* -1 (/ (+ (fabs x) (* -1/2 (/ (pow (fabs x) 2) s))) s)))
(+ 1 (* -1 (/ (+ (fabs x) (* -1 (/ (+ (* -1/6 (/ (pow (fabs x) 3) s)) (* 1/2 (pow (fabs x) 2))) s))) s)))
(* -1 (* s (- (* 4 (/ (fabs x) s)) 4)))
(* -1 (* s (- (* -1 (/ (+ (* -4 (fabs x)) (+ (* 2 (/ (pow (fabs x) 2) s)) (/ (pow (fabs x) 2) s))) s)) 4)))
(* -1 (* s (- (* -1 (/ (+ (* -4 (fabs x)) (* -1 (/ (+ (* -1 (+ (* 2 (pow (fabs x) 2)) (pow (fabs x) 2))) (+ (* 2/3 (/ (pow (fabs x) 3) s)) (/ (pow (fabs x) 3) s))) s))) s)) 4)))
(+ 2 (* -1 (/ (+ (fabs x) (* -1/2 (/ (pow (fabs x) 2) s))) s)))
(+ 2 (* -1 (/ (+ (fabs x) (* -1 (/ (+ (* -1/6 (/ (pow (fabs x) 3) s)) (* 1/2 (pow (fabs x) 2))) s))) s)))
Outputs
(/ (exp (* -1 (/ (fabs x) s))) (* s (pow (+ 1 (exp (* -1 (/ (fabs x) s)))) 2)))
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
(exp (* -1 (/ (fabs x) s)))
(exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))
(* -1 (/ (fabs x) s))
(/.f32 (neg.f32 (fabs.f32 x)) s)
(* -1 (fabs x))
(neg.f32 (fabs.f32 x))
(* s (pow (+ 1 (exp (* -1 (/ (fabs x) s)))) 2))
(*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))
(+ 1 (exp (* -1 (/ (fabs x) s))))
(+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))

rewrite1.0ms (0%)

Memory
1.8MiB live, 1.8MiB allocated
Counts
6 → 6
Calls
Call 1
Inputs
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
(exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))
(/.f32 (neg.f32 (fabs.f32 x)) s)
(neg.f32 (fabs.f32 x))
(*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))
(+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))
Outputs
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
(exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))
(/.f32 (neg.f32 (fabs.f32 x)) s)
(neg.f32 (fabs.f32 x))
(*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s))))
(+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))

eval2.0ms (0.1%)

Memory
5.6MiB live, 5.6MiB allocated
Compiler

Compiled 792 to 56 computations (92.9% saved)

prune13.0ms (0.9%)

Memory
26.1MiB live, 26.1MiB allocated
Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New26026
Fresh000
Picked011
Done000
Total26127
Accuracy
99.6%
Counts
27 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
Compiler

Compiled 52 to 22 computations (57.7% saved)

simplify5.0ms (0.4%)

Memory
-26.3MiB live, 12.6MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))
Outputs
(/.f32 (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)) (*.f32 (*.f32 s (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 (fabs.f32 x)) s)))))

soundness0.0ms (0%)

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

Compiled 26 to 11 computations (57.7% saved)

preprocess16.0ms (1.1%)

Memory
-4.1MiB live, 34.0MiB allocated
Compiler

Compiled 104 to 44 computations (57.7% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...