Logarithmic Transform

Time bar (total: 4.2s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze206.0ms (5%)

Memory
-7.3MiB live, 386.8MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
12.5%12.5%87.4%0.1%0%0%0%6
28.6%25%62.4%0.1%0%12.5%0%7
28.6%25%62.4%0.1%0%12.5%0%8
39.3%34.3%53%0.1%0%12.5%0%9
52.7%45.2%40.6%0.1%0%14%0%10
52.7%45.2%40.6%0.1%0%14%0%11
56%47.6%37.4%0.1%0%14.8%0%12
Compiler

Compiled 14 to 12 computations (14.3% saved)

sample2.6s (63.2%)

Memory
-12.5MiB live, 4 284.6MiB allocated
Samples
1.2s4 670×1valid
319.0ms3 586×0valid
243.0ms1 628×1exit
230.0ms655×1invalid
72.0ms722×0invalid
Precisions
Click to see histograms. Total time spent on operations: 1.7s
ival-pow: 696.0ms (41.7% of total)
ival-e: 338.0ms (20.3% of total)
ival-mult: 212.0ms (12.7% of total)
ival-log1p: 151.0ms (9.1% of total)
adjust: 147.0ms (8.8% of total)
ival-sub: 98.0ms (5.9% of total)
ival-true: 11.0ms (0.7% of total)
exact: 9.0ms (0.5% of total)
ival-assert: 6.0ms (0.4% of total)
Bogosity

explain229.0ms (5.5%)

Memory
13.9MiB live, 331.0MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1910-0-(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
15642(-4.864180278569473e-231 -1.0262238216397907e-293 -1.0042357601523993e-64)0-(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
150-2(1.282003077429414e+282 2.531419624766257e-153 1.053528435115379e-162)(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
10-0-(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
00-0-(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
00-0-(pow.f64 (E.f64) x)
00-0-#s(literal 1 binary64)
00-0-c
00-0-y
00-0-x
00-0-(E.f64)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f64(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))sensitivity1971
-.f64(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))cancellation420
*.f64(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))n*u130
log.f64(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))oflow-rescue10
(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)overflow1
(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))overflow1
(pow.f64 (E.f64) x)overflow2
(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))overflow2
*.f64(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)n*o10
Confusion
Predicted +Predicted -
+1580
-7622
Precision
0.6752136752136753
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+15800
-76022
Precision?
0.6752136752136753
Recall?
1.0
Freqs
test
numberfreq
022
1214
220
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
98.0ms356×1valid
17.0ms156×0valid
Compiler

Compiled 169 to 48 computations (71.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 87.0ms
ival-pow: 35.0ms (40.2% of total)
ival-e: 16.0ms (18.4% of total)
ival-mult: 10.0ms (11.5% of total)
adjust: 9.0ms (10.3% of total)
ival-log1p: 7.0ms (8% of total)
ival-sub: 5.0ms (5.7% of total)
ival-add: 4.0ms (4.6% of total)
ival-true: 1.0ms (1.1% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess3.0ms (0.1%)

Memory
6.4MiB live, 6.4MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
Outputs
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
Compiler

Compiled 12 to 11 computations (8.3% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
41.9%
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
Compiler

Compiled 12 to 11 computations (8.3% saved)

simplify0.0ms (0%)

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

Found 4 expressions of interest:

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

localize74.0ms (1.8%)

Memory
-19.5MiB live, 94.3MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.23862885997809427
(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
accuracy3.377147878518826
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
accuracy35.640058594092565
(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
accuracy42.97886631870749
(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
Samples
50.0ms178×1valid
15.0ms78×0valid
Compiler

Compiled 104 to 24 computations (76.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 47.0ms
ival-pow: 17.0ms (36.1% of total)
ival-e: 8.0ms (17% of total)
ival-mult: 7.0ms (14.9% of total)
ival-sub: 5.0ms (10.6% of total)
adjust: 4.0ms (8.5% of total)
ival-log1p: 4.0ms (8.5% of total)
ival-add: 2.0ms (4.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series180.0ms (4.3%)

Memory
36.2MiB live, 257.0MiB allocated
Counts
5 → 49
Calls
Call 1
Inputs
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
Outputs
(* c (log (+ 1 (* y (- (pow (E) x) 1)))))
(* c (* x (* y (log (E)))))
(* x (+ (* 1/2 (* c (* x (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))) (* c (* y (log (E))))))
(* x (+ (* c (* y (log (E)))) (* x (+ (* 1/6 (* c (* x (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))) (* 1/2 (* c (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))))))
(* x (+ (* c (* y (log (E)))) (* x (+ (* 1/2 (* c (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2))))) (* x (+ (* 1/24 (* c (* x (+ (* -6 (* (pow y 4) (pow (log (E)) 4))) (+ (* -4 (* (pow y 2) (pow (log (E)) 4))) (+ (* -3 (* (pow y 2) (pow (log (E)) 4))) (+ (* 12 (* (pow y 3) (pow (log (E)) 4))) (* y (pow (log (E)) 4))))))))) (* 1/6 (* c (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))))))))
(* x (* y (log (E))))
(* x (+ (* 1/2 (* x (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2))))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/6 (* x (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3)))))) (* 1/2 (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/2 (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))) (* x (+ (* 1/24 (* x (+ (* -6 (* (pow y 4) (pow (log (E)) 4))) (+ (* -4 (* (pow y 2) (pow (log (E)) 4))) (+ (* -3 (* (pow y 2) (pow (log (E)) 4))) (+ (* 12 (* (pow y 3) (pow (log (E)) 4))) (* y (pow (log (E)) 4)))))))) (* 1/6 (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))))) (* y (log (E)))))
1
(+ 1 (* x (* y (log (E)))))
(+ 1 (* x (+ (* 1/2 (* x (* y (pow (log (E)) 2)))) (* y (log (E))))))
(+ 1 (* x (+ (* x (+ (* 1/6 (* x (* y (pow (log (E)) 3)))) (* 1/2 (* y (pow (log (E)) 2))))) (* y (log (E))))))
(* x (+ (* 1/2 (* x (* y (pow (log (E)) 2)))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/6 (* x (* y (pow (log (E)) 3)))) (* 1/2 (* y (pow (log (E)) 2))))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/2 (* y (pow (log (E)) 2))) (* x (+ (* 1/24 (* x (* y (pow (log (E)) 4)))) (* 1/6 (* y (pow (log (E)) 3))))))) (* y (log (E)))))
(* x (log (E)))
(* x (+ (log (E)) (* 1/2 (* x (pow (log (E)) 2)))))
(* x (+ (log (E)) (* x (+ (* 1/6 (* x (pow (log (E)) 3))) (* 1/2 (pow (log (E)) 2))))))
(* x (+ (log (E)) (* x (+ (* 1/2 (pow (log (E)) 2)) (* x (+ (* 1/24 (* x (pow (log (E)) 4))) (* 1/6 (pow (log (E)) 3))))))))
(log (+ 1 (* y (- (pow (E) x) 1))))
(+ 1 (* y (- (pow (E) x) 1)))
(* y (- (pow (E) x) 1))
(- (pow (E) x) 1)
(* c (* y (- (pow (E) x) 1)))
(* y (+ (* -1/2 (* c (* y (pow (- (pow (E) x) 1) 2)))) (* c (- (pow (E) x) 1))))
(* y (+ (* c (- (pow (E) x) 1)) (* y (+ (* -1/2 (* c (pow (- (pow (E) x) 1) 2))) (* 1/3 (* c (* y (pow (- (pow (E) x) 1) 3))))))))
(* y (+ (* c (- (pow (E) x) 1)) (* y (+ (* -1/2 (* c (pow (- (pow (E) x) 1) 2))) (* y (+ (* -1/4 (* c (* y (pow (- (pow (E) x) 1) 4)))) (* 1/3 (* c (pow (- (pow (E) x) 1) 3)))))))))
(* y (- (+ (* -1/2 (* y (pow (- (pow (E) x) 1) 2))) (pow (E) x)) 1))
(* y (- (+ (* y (+ (* -1/2 (pow (- (pow (E) x) 1) 2)) (* 1/3 (* y (pow (- (pow (E) x) 1) 3))))) (pow (E) x)) 1))
(* y (- (+ (* y (+ (* -1/2 (pow (- (pow (E) x) 1) 2)) (* y (+ (* -1/4 (* y (pow (- (pow (E) x) 1) 4))) (* 1/3 (pow (- (pow (E) x) 1) 3)))))) (pow (E) x)) 1))
(* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y)))))
(+ (* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))) (/ c (* y (- (pow (E) x) 1))))
(+ (* -1/2 (/ c (* (pow y 2) (pow (- (pow (E) x) 1) 2)))) (+ (* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))) (/ c (* y (- (pow (E) x) 1)))))
(+ (* -1/2 (/ c (* (pow y 2) (pow (- (pow (E) x) 1) 2)))) (+ (* 1/3 (/ c (* (pow y 3) (pow (- (pow (E) x) 1) 3)))) (+ (* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))) (/ c (* y (- (pow (E) x) 1))))))
(+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))
(+ (log (- (pow (E) x) 1)) (+ (* -1 (log (/ 1 y))) (/ 1 (* y (- (pow (E) x) 1)))))
(- (+ (log (- (pow (E) x) 1)) (+ (* -1 (log (/ 1 y))) (/ 1 (* y (- (pow (E) x) 1))))) (/ 1/2 (* (pow y 2) (pow (- (pow (E) x) 1) 2))))
(- (+ (log (- (pow (E) x) 1)) (+ (* -1 (log (/ 1 y))) (+ (/ 1 (* y (- (pow (E) x) 1))) (* 1/3 (/ 1 (* (pow y 3) (pow (- (pow (E) x) 1) 3))))))) (* 1/2 (/ 1 (* (pow y 2) (pow (- (pow (E) x) 1) 2)))))
(* y (- (+ (/ 1 y) (pow (E) x)) 1))
(* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y)))))
(+ (* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))) (/ c (* y (- (pow (E) x) 1))))
(+ (* -1 (/ (+ (* -1 (/ c (- (pow (E) x) 1))) (* 1/2 (/ c (* y (pow (- (pow (E) x) 1) 2))))) y)) (* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))))
(+ (* -1 (/ (+ (* -1 (/ c (- (pow (E) x) 1))) (* -1 (/ (+ (* -1/2 (/ c (pow (- (pow (E) x) 1) 2))) (* 1/3 (/ c (* y (pow (- (pow (E) x) 1) 3))))) y))) y)) (* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))))
(+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))
(+ (log (* -1 (- (pow (E) x) 1))) (+ (* -1 (log (/ -1 y))) (/ 1 (* y (- (pow (E) x) 1)))))
(+ (log (* -1 (- (pow (E) x) 1))) (+ (* -1 (log (/ -1 y))) (* -1 (/ (- (* 1/2 (/ 1 (* y (pow (- (pow (E) x) 1) 2)))) (/ 1 (- (pow (E) x) 1))) y))))
(+ (log (* -1 (- (pow (E) x) 1))) (+ (* -1 (log (/ -1 y))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 (* y (pow (- (pow (E) x) 1) 3)))) (* 1/2 (/ 1 (pow (- (pow (E) x) 1) 2)))) y)) (/ 1 (- (pow (E) x) 1))) y))))
(* -1 (* y (- (* -1 (- (pow (E) x) 1)) (/ 1 y))))
Calls

9 calls:

TimeVariablePointExpression
62.0ms
c
@0
((* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))) (+ 1 (* (- (pow (E) x) 1) y)) (* (- (pow (E) x) 1) y) (- (pow (E) x) 1))
34.0ms
x
@-inf
((* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))) (+ 1 (* (- (pow (E) x) 1) y)) (* (- (pow (E) x) 1) y) (- (pow (E) x) 1))
21.0ms
c
@inf
((* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))) (+ 1 (* (- (pow (E) x) 1) y)) (* (- (pow (E) x) 1) y) (- (pow (E) x) 1))
19.0ms
x
@inf
((* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))) (+ 1 (* (- (pow (E) x) 1) y)) (* (- (pow (E) x) 1) y) (- (pow (E) x) 1))
13.0ms
c
@-inf
((* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))) (+ 1 (* (- (pow (E) x) 1) y)) (* (- (pow (E) x) 1) y) (- (pow (E) x) 1))

simplify1.0ms (0%)

Memory
2.1MiB live, 2.1MiB allocated
Algorithm
egg-herbie
Counts
49 → 5
Calls
Call 1
Inputs
(* c (log (+ 1 (* y (- (pow (E) x) 1)))))
(* c (* x (* y (log (E)))))
(* x (+ (* 1/2 (* c (* x (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))) (* c (* y (log (E))))))
(* x (+ (* c (* y (log (E)))) (* x (+ (* 1/6 (* c (* x (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))) (* 1/2 (* c (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))))))
(* x (+ (* c (* y (log (E)))) (* x (+ (* 1/2 (* c (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2))))) (* x (+ (* 1/24 (* c (* x (+ (* -6 (* (pow y 4) (pow (log (E)) 4))) (+ (* -4 (* (pow y 2) (pow (log (E)) 4))) (+ (* -3 (* (pow y 2) (pow (log (E)) 4))) (+ (* 12 (* (pow y 3) (pow (log (E)) 4))) (* y (pow (log (E)) 4))))))))) (* 1/6 (* c (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))))))))
(* x (* y (log (E))))
(* x (+ (* 1/2 (* x (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2))))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/6 (* x (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3)))))) (* 1/2 (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/2 (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))) (* x (+ (* 1/24 (* x (+ (* -6 (* (pow y 4) (pow (log (E)) 4))) (+ (* -4 (* (pow y 2) (pow (log (E)) 4))) (+ (* -3 (* (pow y 2) (pow (log (E)) 4))) (+ (* 12 (* (pow y 3) (pow (log (E)) 4))) (* y (pow (log (E)) 4)))))))) (* 1/6 (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))))) (* y (log (E)))))
1
(+ 1 (* x (* y (log (E)))))
(+ 1 (* x (+ (* 1/2 (* x (* y (pow (log (E)) 2)))) (* y (log (E))))))
(+ 1 (* x (+ (* x (+ (* 1/6 (* x (* y (pow (log (E)) 3)))) (* 1/2 (* y (pow (log (E)) 2))))) (* y (log (E))))))
(* x (+ (* 1/2 (* x (* y (pow (log (E)) 2)))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/6 (* x (* y (pow (log (E)) 3)))) (* 1/2 (* y (pow (log (E)) 2))))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/2 (* y (pow (log (E)) 2))) (* x (+ (* 1/24 (* x (* y (pow (log (E)) 4)))) (* 1/6 (* y (pow (log (E)) 3))))))) (* y (log (E)))))
(* x (log (E)))
(* x (+ (log (E)) (* 1/2 (* x (pow (log (E)) 2)))))
(* x (+ (log (E)) (* x (+ (* 1/6 (* x (pow (log (E)) 3))) (* 1/2 (pow (log (E)) 2))))))
(* x (+ (log (E)) (* x (+ (* 1/2 (pow (log (E)) 2)) (* x (+ (* 1/24 (* x (pow (log (E)) 4))) (* 1/6 (pow (log (E)) 3))))))))
(log (+ 1 (* y (- (pow (E) x) 1))))
(+ 1 (* y (- (pow (E) x) 1)))
(* y (- (pow (E) x) 1))
(- (pow (E) x) 1)
(* c (* y (- (pow (E) x) 1)))
(* y (+ (* -1/2 (* c (* y (pow (- (pow (E) x) 1) 2)))) (* c (- (pow (E) x) 1))))
(* y (+ (* c (- (pow (E) x) 1)) (* y (+ (* -1/2 (* c (pow (- (pow (E) x) 1) 2))) (* 1/3 (* c (* y (pow (- (pow (E) x) 1) 3))))))))
(* y (+ (* c (- (pow (E) x) 1)) (* y (+ (* -1/2 (* c (pow (- (pow (E) x) 1) 2))) (* y (+ (* -1/4 (* c (* y (pow (- (pow (E) x) 1) 4)))) (* 1/3 (* c (pow (- (pow (E) x) 1) 3)))))))))
(* y (- (+ (* -1/2 (* y (pow (- (pow (E) x) 1) 2))) (pow (E) x)) 1))
(* y (- (+ (* y (+ (* -1/2 (pow (- (pow (E) x) 1) 2)) (* 1/3 (* y (pow (- (pow (E) x) 1) 3))))) (pow (E) x)) 1))
(* y (- (+ (* y (+ (* -1/2 (pow (- (pow (E) x) 1) 2)) (* y (+ (* -1/4 (* y (pow (- (pow (E) x) 1) 4))) (* 1/3 (pow (- (pow (E) x) 1) 3)))))) (pow (E) x)) 1))
(* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y)))))
(+ (* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))) (/ c (* y (- (pow (E) x) 1))))
(+ (* -1/2 (/ c (* (pow y 2) (pow (- (pow (E) x) 1) 2)))) (+ (* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))) (/ c (* y (- (pow (E) x) 1)))))
(+ (* -1/2 (/ c (* (pow y 2) (pow (- (pow (E) x) 1) 2)))) (+ (* 1/3 (/ c (* (pow y 3) (pow (- (pow (E) x) 1) 3)))) (+ (* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))) (/ c (* y (- (pow (E) x) 1))))))
(+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))
(+ (log (- (pow (E) x) 1)) (+ (* -1 (log (/ 1 y))) (/ 1 (* y (- (pow (E) x) 1)))))
(- (+ (log (- (pow (E) x) 1)) (+ (* -1 (log (/ 1 y))) (/ 1 (* y (- (pow (E) x) 1))))) (/ 1/2 (* (pow y 2) (pow (- (pow (E) x) 1) 2))))
(- (+ (log (- (pow (E) x) 1)) (+ (* -1 (log (/ 1 y))) (+ (/ 1 (* y (- (pow (E) x) 1))) (* 1/3 (/ 1 (* (pow y 3) (pow (- (pow (E) x) 1) 3))))))) (* 1/2 (/ 1 (* (pow y 2) (pow (- (pow (E) x) 1) 2)))))
(* y (- (+ (/ 1 y) (pow (E) x)) 1))
(* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y)))))
(+ (* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))) (/ c (* y (- (pow (E) x) 1))))
(+ (* -1 (/ (+ (* -1 (/ c (- (pow (E) x) 1))) (* 1/2 (/ c (* y (pow (- (pow (E) x) 1) 2))))) y)) (* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))))
(+ (* -1 (/ (+ (* -1 (/ c (- (pow (E) x) 1))) (* -1 (/ (+ (* -1/2 (/ c (pow (- (pow (E) x) 1) 2))) (* 1/3 (/ c (* y (pow (- (pow (E) x) 1) 3))))) y))) y)) (* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))))
(+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))
(+ (log (* -1 (- (pow (E) x) 1))) (+ (* -1 (log (/ -1 y))) (/ 1 (* y (- (pow (E) x) 1)))))
(+ (log (* -1 (- (pow (E) x) 1))) (+ (* -1 (log (/ -1 y))) (* -1 (/ (- (* 1/2 (/ 1 (* y (pow (- (pow (E) x) 1) 2)))) (/ 1 (- (pow (E) x) 1))) y))))
(+ (log (* -1 (- (pow (E) x) 1))) (+ (* -1 (log (/ -1 y))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 (* y (pow (- (pow (E) x) 1) 3)))) (* 1/2 (/ 1 (pow (- (pow (E) x) 1) 2)))) y)) (/ 1 (- (pow (E) x) 1))) y))))
(* -1 (* y (- (* -1 (- (pow (E) x) 1)) (/ 1 y))))
Outputs
(* c (log (+ 1 (* y (- (pow (E) x) 1)))))
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
(* c (* x (* y (log (E)))))
(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
(* x (+ (* 1/2 (* c (* x (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))) (* c (* y (log (E))))))
(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
(* x (+ (* c (* y (log (E)))) (* x (+ (* 1/6 (* c (* x (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))) (* 1/2 (* c (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))))))
(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
(* x (+ (* c (* y (log (E)))) (* x (+ (* 1/2 (* c (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2))))) (* x (+ (* 1/24 (* c (* x (+ (* -6 (* (pow y 4) (pow (log (E)) 4))) (+ (* -4 (* (pow y 2) (pow (log (E)) 4))) (+ (* -3 (* (pow y 2) (pow (log (E)) 4))) (+ (* 12 (* (pow y 3) (pow (log (E)) 4))) (* y (pow (log (E)) 4))))))))) (* 1/6 (* c (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))))))))
(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))

rewrite0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Counts
5 → 5
Calls
Call 1
Inputs
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
Outputs
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))

eval1.0ms (0%)

Memory
2.0MiB live, 2.0MiB allocated
Compiler

Compiled 168 to 24 computations (85.7% saved)

prune2.0ms (0%)

Memory
3.8MiB live, 3.8MiB allocated
Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New6410
Fresh000
Picked011
Done000
Total6511
Accuracy
42.8%
Counts
11 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
41.9%
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
26.5%
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)))
3.3%
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
26.5%
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
31.8%
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
Compiler

Compiled 95 to 81 computations (14.7% saved)

simplify1.0ms (0%)

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

Found 16 expressions of interest:

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

localize360.0ms (8.6%)

Memory
-182.4MiB live, 99.9MiB allocated
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(pow.f64 (E.f64) x)
accuracy0.0
(E.f64)
accuracy42.97886631870749
(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
accuracy61.13909250203694
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)))
accuracy0.0
(E.f64)
accuracy0.23862885997809427
(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
accuracy42.97886631870749
(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
accuracy61.86595936740393
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
accuracy0.0
(E.f64)
accuracy0.23862885997809427
(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
accuracy42.97886631870749
(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
accuracy53.64849080804699
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
accuracy0.23862885997809427
(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
accuracy35.640058594092565
(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
accuracy42.97886631870749
(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
accuracy53.592167350335274
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
Samples
286.0ms78×0valid
60.0ms178×1valid
Compiler

Compiled 325 to 35 computations (89.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 324.0ms
ival-e: 284.0ms (87.6% of total)
ival-pow: 19.0ms (5.9% of total)
ival-mult: 8.0ms (2.5% of total)
adjust: 4.0ms (1.2% of total)
ival-log1p: 4.0ms (1.2% of total)
ival-sub: 2.0ms (0.6% of total)
ival-add: 2.0ms (0.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series88.0ms (2.1%)

Memory
6.7MiB live, 160.8MiB allocated
Counts
10 → 53
Calls
Call 1
Inputs
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
(pow.f64 (E.f64) x)
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)))
(E.f64)
Outputs
(* c (log (+ 1 (* y (- (pow (E) x) 1)))))
(* c (* x (* y (log (E)))))
(* x (+ (* 1/2 (* c (* x (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))) (* c (* y (log (E))))))
(* x (+ (* c (* y (log (E)))) (* x (+ (* 1/6 (* c (* x (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))) (* 1/2 (* c (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))))))
(* x (+ (* c (* y (log (E)))) (* x (+ (* 1/2 (* c (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2))))) (* x (+ (* 1/24 (* c (* x (+ (* -6 (* (pow y 4) (pow (log (E)) 4))) (+ (* -4 (* (pow y 2) (pow (log (E)) 4))) (+ (* -3 (* (pow y 2) (pow (log (E)) 4))) (+ (* 12 (* (pow y 3) (pow (log (E)) 4))) (* y (pow (log (E)) 4))))))))) (* 1/6 (* c (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))))))))
(* x (* y (log (E))))
(* x (+ (* 1/2 (* x (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2))))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/6 (* x (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3)))))) (* 1/2 (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/2 (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))) (* x (+ (* 1/24 (* x (+ (* -6 (* (pow y 4) (pow (log (E)) 4))) (+ (* -4 (* (pow y 2) (pow (log (E)) 4))) (+ (* -3 (* (pow y 2) (pow (log (E)) 4))) (+ (* 12 (* (pow y 3) (pow (log (E)) 4))) (* y (pow (log (E)) 4)))))))) (* 1/6 (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))))) (* y (log (E)))))
1
(+ 1 (* x (* y (log (E)))))
(+ 1 (* x (+ (* 1/2 (* x (* y (pow (log (E)) 2)))) (* y (log (E))))))
(+ 1 (* x (+ (* x (+ (* 1/6 (* x (* y (pow (log (E)) 3)))) (* 1/2 (* y (pow (log (E)) 2))))) (* y (log (E))))))
(* x (+ (* 1/2 (* x (* y (pow (log (E)) 2)))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/6 (* x (* y (pow (log (E)) 3)))) (* 1/2 (* y (pow (log (E)) 2))))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/2 (* y (pow (log (E)) 2))) (* x (+ (* 1/24 (* x (* y (pow (log (E)) 4)))) (* 1/6 (* y (pow (log (E)) 3))))))) (* y (log (E)))))
(* x (log (E)))
(* x (+ (log (E)) (* 1/2 (* x (pow (log (E)) 2)))))
(* x (+ (log (E)) (* x (+ (* 1/6 (* x (pow (log (E)) 3))) (* 1/2 (pow (log (E)) 2))))))
(* x (+ (log (E)) (* x (+ (* 1/2 (pow (log (E)) 2)) (* x (+ (* 1/24 (* x (pow (log (E)) 4))) (* 1/6 (pow (log (E)) 3))))))))
(+ 1 (* x (log (E))))
(+ 1 (* x (+ (log (E)) (* 1/2 (* x (pow (log (E)) 2))))))
(+ 1 (* x (+ (log (E)) (* x (+ (* 1/6 (* x (pow (log (E)) 3))) (* 1/2 (pow (log (E)) 2)))))))
(log (+ 1 (* y (- (pow (E) x) 1))))
(+ 1 (* y (- (pow (E) x) 1)))
(* y (- (pow (E) x) 1))
(- (pow (E) x) 1)
(pow (E) x)
(* c (* y (- (pow (E) x) 1)))
(* y (+ (* -1/2 (* c (* y (pow (- (pow (E) x) 1) 2)))) (* c (- (pow (E) x) 1))))
(* y (+ (* c (- (pow (E) x) 1)) (* y (+ (* -1/2 (* c (pow (- (pow (E) x) 1) 2))) (* 1/3 (* c (* y (pow (- (pow (E) x) 1) 3))))))))
(* y (+ (* c (- (pow (E) x) 1)) (* y (+ (* -1/2 (* c (pow (- (pow (E) x) 1) 2))) (* y (+ (* -1/4 (* c (* y (pow (- (pow (E) x) 1) 4)))) (* 1/3 (* c (pow (- (pow (E) x) 1) 3)))))))))
(* y (- (+ (* -1/2 (* y (pow (- (pow (E) x) 1) 2))) (pow (E) x)) 1))
(* y (- (+ (* y (+ (* -1/2 (pow (- (pow (E) x) 1) 2)) (* 1/3 (* y (pow (- (pow (E) x) 1) 3))))) (pow (E) x)) 1))
(* y (- (+ (* y (+ (* -1/2 (pow (- (pow (E) x) 1) 2)) (* y (+ (* -1/4 (* y (pow (- (pow (E) x) 1) 4))) (* 1/3 (pow (- (pow (E) x) 1) 3)))))) (pow (E) x)) 1))
(* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y)))))
(+ (* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))) (/ c (* y (- (pow (E) x) 1))))
(+ (* -1/2 (/ c (* (pow y 2) (pow (- (pow (E) x) 1) 2)))) (+ (* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))) (/ c (* y (- (pow (E) x) 1)))))
(+ (* -1/2 (/ c (* (pow y 2) (pow (- (pow (E) x) 1) 2)))) (+ (* 1/3 (/ c (* (pow y 3) (pow (- (pow (E) x) 1) 3)))) (+ (* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))) (/ c (* y (- (pow (E) x) 1))))))
(+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))
(+ (log (- (pow (E) x) 1)) (+ (* -1 (log (/ 1 y))) (/ 1 (* y (- (pow (E) x) 1)))))
(- (+ (log (- (pow (E) x) 1)) (+ (* -1 (log (/ 1 y))) (/ 1 (* y (- (pow (E) x) 1))))) (/ 1/2 (* (pow y 2) (pow (- (pow (E) x) 1) 2))))
(- (+ (log (- (pow (E) x) 1)) (+ (* -1 (log (/ 1 y))) (+ (/ 1 (* y (- (pow (E) x) 1))) (* 1/3 (/ 1 (* (pow y 3) (pow (- (pow (E) x) 1) 3))))))) (* 1/2 (/ 1 (* (pow y 2) (pow (- (pow (E) x) 1) 2)))))
(* y (- (+ (/ 1 y) (pow (E) x)) 1))
(* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y)))))
(+ (* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))) (/ c (* y (- (pow (E) x) 1))))
(+ (* -1 (/ (+ (* -1 (/ c (- (pow (E) x) 1))) (* 1/2 (/ c (* y (pow (- (pow (E) x) 1) 2))))) y)) (* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))))
(+ (* -1 (/ (+ (* -1 (/ c (- (pow (E) x) 1))) (* -1 (/ (+ (* -1/2 (/ c (pow (- (pow (E) x) 1) 2))) (* 1/3 (/ c (* y (pow (- (pow (E) x) 1) 3))))) y))) y)) (* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))))
(+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))
(+ (log (* -1 (- (pow (E) x) 1))) (+ (* -1 (log (/ -1 y))) (/ 1 (* y (- (pow (E) x) 1)))))
(+ (log (* -1 (- (pow (E) x) 1))) (+ (* -1 (log (/ -1 y))) (* -1 (/ (- (* 1/2 (/ 1 (* y (pow (- (pow (E) x) 1) 2)))) (/ 1 (- (pow (E) x) 1))) y))))
(+ (log (* -1 (- (pow (E) x) 1))) (+ (* -1 (log (/ -1 y))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 (* y (pow (- (pow (E) x) 1) 3)))) (* 1/2 (/ 1 (pow (- (pow (E) x) 1) 2)))) y)) (/ 1 (- (pow (E) x) 1))) y))))
(* -1 (* y (- (* -1 (- (pow (E) x) 1)) (/ 1 y))))
Calls

9 calls:

TimeVariablePointExpression
19.0ms
c
@0
((* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))) (+ 1 (* (- (pow (E) x) 1) y)) (* (- (pow (E) x) 1) y) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (- (pow (E) x) 1) (pow (E) x) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (E))
16.0ms
c
@-inf
((* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))) (+ 1 (* (- (pow (E) x) 1) y)) (* (- (pow (E) x) 1) y) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (- (pow (E) x) 1) (pow (E) x) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (E))
13.0ms
c
@inf
((* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))) (+ 1 (* (- (pow (E) x) 1) y)) (* (- (pow (E) x) 1) y) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (- (pow (E) x) 1) (pow (E) x) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (E))
9.0ms
y
@0
((* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))) (+ 1 (* (- (pow (E) x) 1) y)) (* (- (pow (E) x) 1) y) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (- (pow (E) x) 1) (pow (E) x) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (E))
8.0ms
y
@inf
((* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))) (+ 1 (* (- (pow (E) x) 1) y)) (* (- (pow (E) x) 1) y) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (- (pow (E) x) 1) (pow (E) x) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (E))

simplify1.0ms (0%)

Memory
2.4MiB live, 2.4MiB allocated
Algorithm
egg-herbie
Counts
53 → 10
Calls
Call 1
Inputs
(* c (log (+ 1 (* y (- (pow (E) x) 1)))))
(* c (* x (* y (log (E)))))
(* x (+ (* 1/2 (* c (* x (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))) (* c (* y (log (E))))))
(* x (+ (* c (* y (log (E)))) (* x (+ (* 1/6 (* c (* x (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))) (* 1/2 (* c (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))))))
(* x (+ (* c (* y (log (E)))) (* x (+ (* 1/2 (* c (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2))))) (* x (+ (* 1/24 (* c (* x (+ (* -6 (* (pow y 4) (pow (log (E)) 4))) (+ (* -4 (* (pow y 2) (pow (log (E)) 4))) (+ (* -3 (* (pow y 2) (pow (log (E)) 4))) (+ (* 12 (* (pow y 3) (pow (log (E)) 4))) (* y (pow (log (E)) 4))))))))) (* 1/6 (* c (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))))))))
(* x (* y (log (E))))
(* x (+ (* 1/2 (* x (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2))))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/6 (* x (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3)))))) (* 1/2 (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/2 (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))) (* x (+ (* 1/24 (* x (+ (* -6 (* (pow y 4) (pow (log (E)) 4))) (+ (* -4 (* (pow y 2) (pow (log (E)) 4))) (+ (* -3 (* (pow y 2) (pow (log (E)) 4))) (+ (* 12 (* (pow y 3) (pow (log (E)) 4))) (* y (pow (log (E)) 4)))))))) (* 1/6 (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))))) (* y (log (E)))))
1
(+ 1 (* x (* y (log (E)))))
(+ 1 (* x (+ (* 1/2 (* x (* y (pow (log (E)) 2)))) (* y (log (E))))))
(+ 1 (* x (+ (* x (+ (* 1/6 (* x (* y (pow (log (E)) 3)))) (* 1/2 (* y (pow (log (E)) 2))))) (* y (log (E))))))
(* x (+ (* 1/2 (* x (* y (pow (log (E)) 2)))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/6 (* x (* y (pow (log (E)) 3)))) (* 1/2 (* y (pow (log (E)) 2))))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/2 (* y (pow (log (E)) 2))) (* x (+ (* 1/24 (* x (* y (pow (log (E)) 4)))) (* 1/6 (* y (pow (log (E)) 3))))))) (* y (log (E)))))
(* x (log (E)))
(* x (+ (log (E)) (* 1/2 (* x (pow (log (E)) 2)))))
(* x (+ (log (E)) (* x (+ (* 1/6 (* x (pow (log (E)) 3))) (* 1/2 (pow (log (E)) 2))))))
(* x (+ (log (E)) (* x (+ (* 1/2 (pow (log (E)) 2)) (* x (+ (* 1/24 (* x (pow (log (E)) 4))) (* 1/6 (pow (log (E)) 3))))))))
(+ 1 (* x (log (E))))
(+ 1 (* x (+ (log (E)) (* 1/2 (* x (pow (log (E)) 2))))))
(+ 1 (* x (+ (log (E)) (* x (+ (* 1/6 (* x (pow (log (E)) 3))) (* 1/2 (pow (log (E)) 2)))))))
(log (+ 1 (* y (- (pow (E) x) 1))))
(+ 1 (* y (- (pow (E) x) 1)))
(* y (- (pow (E) x) 1))
(- (pow (E) x) 1)
(pow (E) x)
(* c (* y (- (pow (E) x) 1)))
(* y (+ (* -1/2 (* c (* y (pow (- (pow (E) x) 1) 2)))) (* c (- (pow (E) x) 1))))
(* y (+ (* c (- (pow (E) x) 1)) (* y (+ (* -1/2 (* c (pow (- (pow (E) x) 1) 2))) (* 1/3 (* c (* y (pow (- (pow (E) x) 1) 3))))))))
(* y (+ (* c (- (pow (E) x) 1)) (* y (+ (* -1/2 (* c (pow (- (pow (E) x) 1) 2))) (* y (+ (* -1/4 (* c (* y (pow (- (pow (E) x) 1) 4)))) (* 1/3 (* c (pow (- (pow (E) x) 1) 3)))))))))
(* y (- (+ (* -1/2 (* y (pow (- (pow (E) x) 1) 2))) (pow (E) x)) 1))
(* y (- (+ (* y (+ (* -1/2 (pow (- (pow (E) x) 1) 2)) (* 1/3 (* y (pow (- (pow (E) x) 1) 3))))) (pow (E) x)) 1))
(* y (- (+ (* y (+ (* -1/2 (pow (- (pow (E) x) 1) 2)) (* y (+ (* -1/4 (* y (pow (- (pow (E) x) 1) 4))) (* 1/3 (pow (- (pow (E) x) 1) 3)))))) (pow (E) x)) 1))
(* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y)))))
(+ (* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))) (/ c (* y (- (pow (E) x) 1))))
(+ (* -1/2 (/ c (* (pow y 2) (pow (- (pow (E) x) 1) 2)))) (+ (* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))) (/ c (* y (- (pow (E) x) 1)))))
(+ (* -1/2 (/ c (* (pow y 2) (pow (- (pow (E) x) 1) 2)))) (+ (* 1/3 (/ c (* (pow y 3) (pow (- (pow (E) x) 1) 3)))) (+ (* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))) (/ c (* y (- (pow (E) x) 1))))))
(+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))
(+ (log (- (pow (E) x) 1)) (+ (* -1 (log (/ 1 y))) (/ 1 (* y (- (pow (E) x) 1)))))
(- (+ (log (- (pow (E) x) 1)) (+ (* -1 (log (/ 1 y))) (/ 1 (* y (- (pow (E) x) 1))))) (/ 1/2 (* (pow y 2) (pow (- (pow (E) x) 1) 2))))
(- (+ (log (- (pow (E) x) 1)) (+ (* -1 (log (/ 1 y))) (+ (/ 1 (* y (- (pow (E) x) 1))) (* 1/3 (/ 1 (* (pow y 3) (pow (- (pow (E) x) 1) 3))))))) (* 1/2 (/ 1 (* (pow y 2) (pow (- (pow (E) x) 1) 2)))))
(* y (- (+ (/ 1 y) (pow (E) x)) 1))
(* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y)))))
(+ (* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))) (/ c (* y (- (pow (E) x) 1))))
(+ (* -1 (/ (+ (* -1 (/ c (- (pow (E) x) 1))) (* 1/2 (/ c (* y (pow (- (pow (E) x) 1) 2))))) y)) (* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))))
(+ (* -1 (/ (+ (* -1 (/ c (- (pow (E) x) 1))) (* -1 (/ (+ (* -1/2 (/ c (pow (- (pow (E) x) 1) 2))) (* 1/3 (/ c (* y (pow (- (pow (E) x) 1) 3))))) y))) y)) (* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))))
(+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))
(+ (log (* -1 (- (pow (E) x) 1))) (+ (* -1 (log (/ -1 y))) (/ 1 (* y (- (pow (E) x) 1)))))
(+ (log (* -1 (- (pow (E) x) 1))) (+ (* -1 (log (/ -1 y))) (* -1 (/ (- (* 1/2 (/ 1 (* y (pow (- (pow (E) x) 1) 2)))) (/ 1 (- (pow (E) x) 1))) y))))
(+ (log (* -1 (- (pow (E) x) 1))) (+ (* -1 (log (/ -1 y))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 (* y (pow (- (pow (E) x) 1) 3)))) (* 1/2 (/ 1 (pow (- (pow (E) x) 1) 2)))) y)) (/ 1 (- (pow (E) x) 1))) y))))
(* -1 (* y (- (* -1 (- (pow (E) x) 1)) (/ 1 y))))
Outputs
(* c (log (+ 1 (* y (- (pow (E) x) 1)))))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
(* c (* x (* y (log (E)))))
(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
(* x (+ (* 1/2 (* c (* x (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))) (* c (* y (log (E))))))
(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
(* x (+ (* c (* y (log (E)))) (* x (+ (* 1/6 (* c (* x (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))) (* 1/2 (* c (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))))))
(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
(* x (+ (* c (* y (log (E)))) (* x (+ (* 1/2 (* c (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2))))) (* x (+ (* 1/24 (* c (* x (+ (* -6 (* (pow y 4) (pow (log (E)) 4))) (+ (* -4 (* (pow y 2) (pow (log (E)) 4))) (+ (* -3 (* (pow y 2) (pow (log (E)) 4))) (+ (* 12 (* (pow y 3) (pow (log (E)) 4))) (* y (pow (log (E)) 4))))))))) (* 1/6 (* c (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))))))))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
(* x (* y (log (E))))
(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
(* x (+ (* 1/2 (* x (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2))))) (* y (log (E)))))
(pow.f64 (E.f64) x)
(* x (+ (* x (+ (* 1/6 (* x (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3)))))) (* 1/2 (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))) (* y (log (E)))))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
(* x (+ (* x (+ (* 1/2 (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))) (* x (+ (* 1/24 (* x (+ (* -6 (* (pow y 4) (pow (log (E)) 4))) (+ (* -4 (* (pow y 2) (pow (log (E)) 4))) (+ (* -3 (* (pow y 2) (pow (log (E)) 4))) (+ (* 12 (* (pow y 3) (pow (log (E)) 4))) (* y (pow (log (E)) 4)))))))) (* 1/6 (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))))) (* y (log (E)))))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)))
1
(E.f64)

rewrite1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Counts
10 → 10
Calls
Call 1
Inputs
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
(pow.f64 (E.f64) x)
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)))
(E.f64)
Outputs
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
(pow.f64 (E.f64) x)
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)))
(E.f64)

eval3.0ms (0.1%)

Memory
5.7MiB live, 5.7MiB allocated
Compiler

Compiled 727 to 36 computations (95% saved)

prune4.0ms (0.1%)

Memory
7.7MiB live, 7.7MiB allocated
Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New27330
Fresh000
Picked134
Done011
Total28735
Accuracy
42.8%
Counts
35 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
41.9%
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
26.5%
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)))
26.5%
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
31.8%
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
3.4%
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))))
3.4%
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
6.7%
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
Compiler

Compiled 149 to 107 computations (28.2% saved)

simplify1.0ms (0%)

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

Found 11 expressions of interest:

NewMetricScoreProgram
cost-diff0
(E.f64)
cost-diff0
#s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))
cost-diff0
(log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
cost-diff0
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))))
cost-diff0
(E.f64)
cost-diff0
#s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))
cost-diff0
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
cost-diff0
(E.f64)
cost-diff0
(pow.f64 (E.f64) x)
cost-diff0
#s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x))
cost-diff0
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
Calls
Call 1
Inputs
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
#s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x))
(pow.f64 (E.f64) x)
(E.f64)
x
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
#s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))
(E.f64)
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))))
(log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
#s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))
(E.f64)
Outputs
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
#s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x))
(pow.f64 (E.f64) x)
(E.f64)
x
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
#s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))
(E.f64)
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))))
(log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
#s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))
(E.f64)

localize71.0ms (1.7%)

Memory
-18.7MiB live, 94.5MiB allocated
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(E.f64)
accuracy35.640058594092565
(log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
accuracy53.592167350335274
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))))
accuracy54.19560992516185
#s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))
accuracy0.0
(E.f64)
accuracy54.19560992516185
#s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))
accuracy61.86595936740393
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
accuracy0.0
(pow.f64 (E.f64) x)
accuracy0.0
(E.f64)
accuracy53.592167350335274
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
accuracy60.641581047196254
#s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x))
Samples
52.0ms175×1valid
8.0ms81×0valid
Compiler

Compiled 214 to 32 computations (85% saved)

Precisions
Click to see histograms. Total time spent on operations: 47.0ms
ival-pow: 17.0ms (36.3% of total)
ival-e: 12.0ms (25.6% of total)
ival-mult: 5.0ms (10.7% of total)
adjust: 4.0ms (8.5% of total)
ival-log1p: 3.0ms (6.4% of total)
ival-sub: 2.0ms (4.3% of total)
ival-add: 2.0ms (4.3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series73.0ms (1.7%)

Memory
10.3MiB live, 125.6MiB allocated
Counts
8 → 45
Calls
Call 1
Inputs
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
#s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x))
(pow.f64 (E.f64) x)
(E.f64)
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
#s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))))
(log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
Outputs
(* c (log (+ 1 (* y (- (pow (E) x) 1)))))
(* c (* x (* y (log (E)))))
(* x (+ (* 1/2 (* c (* x (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))) (* c (* y (log (E))))))
(* x (+ (* c (* y (log (E)))) (* x (+ (* 1/6 (* c (* x (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))) (* 1/2 (* c (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))))))
(* x (+ (* c (* y (log (E)))) (* x (+ (* 1/2 (* c (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2))))) (* x (+ (* 1/24 (* c (* x (+ (* -6 (* (pow y 4) (pow (log (E)) 4))) (+ (* -4 (* (pow y 2) (pow (log (E)) 4))) (+ (* -3 (* (pow y 2) (pow (log (E)) 4))) (+ (* 12 (* (pow y 3) (pow (log (E)) 4))) (* y (pow (log (E)) 4))))))))) (* 1/6 (* c (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))))))))
(* x (* y (log (E))))
(* x (+ (* 1/2 (* x (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2))))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/6 (* x (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3)))))) (* 1/2 (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/2 (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))) (* x (+ (* 1/24 (* x (+ (* -6 (* (pow y 4) (pow (log (E)) 4))) (+ (* -4 (* (pow y 2) (pow (log (E)) 4))) (+ (* -3 (* (pow y 2) (pow (log (E)) 4))) (+ (* 12 (* (pow y 3) (pow (log (E)) 4))) (* y (pow (log (E)) 4)))))))) (* 1/6 (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))))) (* y (log (E)))))
1
(+ 1 (* x (log (E))))
(+ 1 (* x (+ (log (E)) (* 1/2 (* x (pow (log (E)) 2))))))
(+ 1 (* x (+ (log (E)) (* x (+ (* 1/6 (* x (pow (log (E)) 3))) (* 1/2 (pow (log (E)) 2)))))))
(+ 1 (* x (* y (log (E)))))
(+ 1 (* x (+ (* 1/2 (* x (* y (pow (log (E)) 2)))) (* y (log (E))))))
(+ 1 (* x (+ (* x (+ (* 1/6 (* x (* y (pow (log (E)) 3)))) (* 1/2 (* y (pow (log (E)) 2))))) (* y (log (E))))))
(log (+ 1 (* y (- (pow (E) x) 1))))
(pow (E) x)
(+ 1 (* y (- (pow (E) x) 1)))
(* c (* y (- (pow (E) x) 1)))
(* y (+ (* -1/2 (* c (* y (pow (- (pow (E) x) 1) 2)))) (* c (- (pow (E) x) 1))))
(* y (+ (* c (- (pow (E) x) 1)) (* y (+ (* -1/2 (* c (pow (- (pow (E) x) 1) 2))) (* 1/3 (* c (* y (pow (- (pow (E) x) 1) 3))))))))
(* y (+ (* c (- (pow (E) x) 1)) (* y (+ (* -1/2 (* c (pow (- (pow (E) x) 1) 2))) (* y (+ (* -1/4 (* c (* y (pow (- (pow (E) x) 1) 4)))) (* 1/3 (* c (pow (- (pow (E) x) 1) 3)))))))))
(* y (- (pow (E) x) 1))
(* y (- (+ (* -1/2 (* y (pow (- (pow (E) x) 1) 2))) (pow (E) x)) 1))
(* y (- (+ (* y (+ (* -1/2 (pow (- (pow (E) x) 1) 2)) (* 1/3 (* y (pow (- (pow (E) x) 1) 3))))) (pow (E) x)) 1))
(* y (- (+ (* y (+ (* -1/2 (pow (- (pow (E) x) 1) 2)) (* y (+ (* -1/4 (* y (pow (- (pow (E) x) 1) 4))) (* 1/3 (pow (- (pow (E) x) 1) 3)))))) (pow (E) x)) 1))
(* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y)))))
(+ (* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))) (/ c (* y (- (pow (E) x) 1))))
(+ (* -1/2 (/ c (* (pow y 2) (pow (- (pow (E) x) 1) 2)))) (+ (* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))) (/ c (* y (- (pow (E) x) 1)))))
(+ (* -1/2 (/ c (* (pow y 2) (pow (- (pow (E) x) 1) 2)))) (+ (* 1/3 (/ c (* (pow y 3) (pow (- (pow (E) x) 1) 3)))) (+ (* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))) (/ c (* y (- (pow (E) x) 1))))))
(+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))
(+ (log (- (pow (E) x) 1)) (+ (* -1 (log (/ 1 y))) (/ 1 (* y (- (pow (E) x) 1)))))
(- (+ (log (- (pow (E) x) 1)) (+ (* -1 (log (/ 1 y))) (/ 1 (* y (- (pow (E) x) 1))))) (/ 1/2 (* (pow y 2) (pow (- (pow (E) x) 1) 2))))
(- (+ (log (- (pow (E) x) 1)) (+ (* -1 (log (/ 1 y))) (+ (/ 1 (* y (- (pow (E) x) 1))) (* 1/3 (/ 1 (* (pow y 3) (pow (- (pow (E) x) 1) 3))))))) (* 1/2 (/ 1 (* (pow y 2) (pow (- (pow (E) x) 1) 2)))))
(* y (- (+ (/ 1 y) (pow (E) x)) 1))
(* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y)))))
(+ (* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))) (/ c (* y (- (pow (E) x) 1))))
(+ (* -1 (/ (+ (* -1 (/ c (- (pow (E) x) 1))) (* 1/2 (/ c (* y (pow (- (pow (E) x) 1) 2))))) y)) (* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))))
(+ (* -1 (/ (+ (* -1 (/ c (- (pow (E) x) 1))) (* -1 (/ (+ (* -1/2 (/ c (pow (- (pow (E) x) 1) 2))) (* 1/3 (/ c (* y (pow (- (pow (E) x) 1) 3))))) y))) y)) (* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))))
(+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))
(+ (log (* -1 (- (pow (E) x) 1))) (+ (* -1 (log (/ -1 y))) (/ 1 (* y (- (pow (E) x) 1)))))
(+ (log (* -1 (- (pow (E) x) 1))) (+ (* -1 (log (/ -1 y))) (* -1 (/ (- (* 1/2 (/ 1 (* y (pow (- (pow (E) x) 1) 2)))) (/ 1 (- (pow (E) x) 1))) y))))
(+ (log (* -1 (- (pow (E) x) 1))) (+ (* -1 (log (/ -1 y))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 (* y (pow (- (pow (E) x) 1) 3)))) (* 1/2 (/ 1 (pow (- (pow (E) x) 1) 2)))) y)) (/ 1 (- (pow (E) x) 1))) y))))
(* -1 (* y (- (* -1 (- (pow (E) x) 1)) (/ 1 y))))
Calls

9 calls:

TimeVariablePointExpression
20.0ms
c
@0
((* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))) (pow (E) x) (E) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (+ 1 (* (- (pow (E) x) 1) y)) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))))
14.0ms
c
@-inf
((* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))) (pow (E) x) (E) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (+ 1 (* (- (pow (E) x) 1) y)) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))))
13.0ms
c
@inf
((* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))) (pow (E) x) (E) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (+ 1 (* (- (pow (E) x) 1) y)) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))))
11.0ms
x
@-inf
((* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))) (pow (E) x) (E) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (+ 1 (* (- (pow (E) x) 1) y)) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))))
7.0ms
x
@inf
((* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))) (pow (E) x) (E) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (+ 1 (* (- (pow (E) x) 1) y)) (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log (+ 1 (* (- (pow (E) x) 1) y))))

simplify1.0ms (0%)

Memory
2.0MiB live, 2.0MiB allocated
Algorithm
egg-herbie
Counts
45 → 8
Calls
Call 1
Inputs
(* c (log (+ 1 (* y (- (pow (E) x) 1)))))
(* c (* x (* y (log (E)))))
(* x (+ (* 1/2 (* c (* x (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))) (* c (* y (log (E))))))
(* x (+ (* c (* y (log (E)))) (* x (+ (* 1/6 (* c (* x (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))) (* 1/2 (* c (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))))))
(* x (+ (* c (* y (log (E)))) (* x (+ (* 1/2 (* c (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2))))) (* x (+ (* 1/24 (* c (* x (+ (* -6 (* (pow y 4) (pow (log (E)) 4))) (+ (* -4 (* (pow y 2) (pow (log (E)) 4))) (+ (* -3 (* (pow y 2) (pow (log (E)) 4))) (+ (* 12 (* (pow y 3) (pow (log (E)) 4))) (* y (pow (log (E)) 4))))))))) (* 1/6 (* c (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))))))))
(* x (* y (log (E))))
(* x (+ (* 1/2 (* x (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2))))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/6 (* x (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3)))))) (* 1/2 (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))) (* y (log (E)))))
(* x (+ (* x (+ (* 1/2 (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))) (* x (+ (* 1/24 (* x (+ (* -6 (* (pow y 4) (pow (log (E)) 4))) (+ (* -4 (* (pow y 2) (pow (log (E)) 4))) (+ (* -3 (* (pow y 2) (pow (log (E)) 4))) (+ (* 12 (* (pow y 3) (pow (log (E)) 4))) (* y (pow (log (E)) 4)))))))) (* 1/6 (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))))) (* y (log (E)))))
1
(+ 1 (* x (log (E))))
(+ 1 (* x (+ (log (E)) (* 1/2 (* x (pow (log (E)) 2))))))
(+ 1 (* x (+ (log (E)) (* x (+ (* 1/6 (* x (pow (log (E)) 3))) (* 1/2 (pow (log (E)) 2)))))))
(+ 1 (* x (* y (log (E)))))
(+ 1 (* x (+ (* 1/2 (* x (* y (pow (log (E)) 2)))) (* y (log (E))))))
(+ 1 (* x (+ (* x (+ (* 1/6 (* x (* y (pow (log (E)) 3)))) (* 1/2 (* y (pow (log (E)) 2))))) (* y (log (E))))))
(log (+ 1 (* y (- (pow (E) x) 1))))
(pow (E) x)
(+ 1 (* y (- (pow (E) x) 1)))
(* c (* y (- (pow (E) x) 1)))
(* y (+ (* -1/2 (* c (* y (pow (- (pow (E) x) 1) 2)))) (* c (- (pow (E) x) 1))))
(* y (+ (* c (- (pow (E) x) 1)) (* y (+ (* -1/2 (* c (pow (- (pow (E) x) 1) 2))) (* 1/3 (* c (* y (pow (- (pow (E) x) 1) 3))))))))
(* y (+ (* c (- (pow (E) x) 1)) (* y (+ (* -1/2 (* c (pow (- (pow (E) x) 1) 2))) (* y (+ (* -1/4 (* c (* y (pow (- (pow (E) x) 1) 4)))) (* 1/3 (* c (pow (- (pow (E) x) 1) 3)))))))))
(* y (- (pow (E) x) 1))
(* y (- (+ (* -1/2 (* y (pow (- (pow (E) x) 1) 2))) (pow (E) x)) 1))
(* y (- (+ (* y (+ (* -1/2 (pow (- (pow (E) x) 1) 2)) (* 1/3 (* y (pow (- (pow (E) x) 1) 3))))) (pow (E) x)) 1))
(* y (- (+ (* y (+ (* -1/2 (pow (- (pow (E) x) 1) 2)) (* y (+ (* -1/4 (* y (pow (- (pow (E) x) 1) 4))) (* 1/3 (pow (- (pow (E) x) 1) 3)))))) (pow (E) x)) 1))
(* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y)))))
(+ (* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))) (/ c (* y (- (pow (E) x) 1))))
(+ (* -1/2 (/ c (* (pow y 2) (pow (- (pow (E) x) 1) 2)))) (+ (* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))) (/ c (* y (- (pow (E) x) 1)))))
(+ (* -1/2 (/ c (* (pow y 2) (pow (- (pow (E) x) 1) 2)))) (+ (* 1/3 (/ c (* (pow y 3) (pow (- (pow (E) x) 1) 3)))) (+ (* c (+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))) (/ c (* y (- (pow (E) x) 1))))))
(+ (log (- (pow (E) x) 1)) (* -1 (log (/ 1 y))))
(+ (log (- (pow (E) x) 1)) (+ (* -1 (log (/ 1 y))) (/ 1 (* y (- (pow (E) x) 1)))))
(- (+ (log (- (pow (E) x) 1)) (+ (* -1 (log (/ 1 y))) (/ 1 (* y (- (pow (E) x) 1))))) (/ 1/2 (* (pow y 2) (pow (- (pow (E) x) 1) 2))))
(- (+ (log (- (pow (E) x) 1)) (+ (* -1 (log (/ 1 y))) (+ (/ 1 (* y (- (pow (E) x) 1))) (* 1/3 (/ 1 (* (pow y 3) (pow (- (pow (E) x) 1) 3))))))) (* 1/2 (/ 1 (* (pow y 2) (pow (- (pow (E) x) 1) 2)))))
(* y (- (+ (/ 1 y) (pow (E) x)) 1))
(* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y)))))
(+ (* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))) (/ c (* y (- (pow (E) x) 1))))
(+ (* -1 (/ (+ (* -1 (/ c (- (pow (E) x) 1))) (* 1/2 (/ c (* y (pow (- (pow (E) x) 1) 2))))) y)) (* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))))
(+ (* -1 (/ (+ (* -1 (/ c (- (pow (E) x) 1))) (* -1 (/ (+ (* -1/2 (/ c (pow (- (pow (E) x) 1) 2))) (* 1/3 (/ c (* y (pow (- (pow (E) x) 1) 3))))) y))) y)) (* c (+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))))
(+ (log (* -1 (- (pow (E) x) 1))) (* -1 (log (/ -1 y))))
(+ (log (* -1 (- (pow (E) x) 1))) (+ (* -1 (log (/ -1 y))) (/ 1 (* y (- (pow (E) x) 1)))))
(+ (log (* -1 (- (pow (E) x) 1))) (+ (* -1 (log (/ -1 y))) (* -1 (/ (- (* 1/2 (/ 1 (* y (pow (- (pow (E) x) 1) 2)))) (/ 1 (- (pow (E) x) 1))) y))))
(+ (log (* -1 (- (pow (E) x) 1))) (+ (* -1 (log (/ -1 y))) (* -1 (/ (- (* -1 (/ (- (* 1/3 (/ 1 (* y (pow (- (pow (E) x) 1) 3)))) (* 1/2 (/ 1 (pow (- (pow (E) x) 1) 2)))) y)) (/ 1 (- (pow (E) x) 1))) y))))
(* -1 (* y (- (* -1 (- (pow (E) x) 1)) (/ 1 y))))
Outputs
(* c (log (+ 1 (* y (- (pow (E) x) 1)))))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
(* c (* x (* y (log (E)))))
#s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x))
(* x (+ (* 1/2 (* c (* x (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))) (* c (* y (log (E))))))
(pow.f64 (E.f64) x)
(* x (+ (* c (* y (log (E)))) (* x (+ (* 1/6 (* c (* x (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))) (* 1/2 (* c (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))))))
(E.f64)
(* x (+ (* c (* y (log (E)))) (* x (+ (* 1/2 (* c (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2))))) (* x (+ (* 1/24 (* c (* x (+ (* -6 (* (pow y 4) (pow (log (E)) 4))) (+ (* -4 (* (pow y 2) (pow (log (E)) 4))) (+ (* -3 (* (pow y 2) (pow (log (E)) 4))) (+ (* 12 (* (pow y 3) (pow (log (E)) 4))) (* y (pow (log (E)) 4))))))))) (* 1/6 (* c (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3))))))))))))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
(* x (* y (log (E))))
#s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))
(* x (+ (* 1/2 (* x (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2))))) (* y (log (E)))))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))))
(* x (+ (* x (+ (* 1/6 (* x (+ (* -3 (* (pow y 2) (pow (log (E)) 3))) (+ (* 2 (* (pow y 3) (pow (log (E)) 3))) (* y (pow (log (E)) 3)))))) (* 1/2 (+ (* -1 (* (pow y 2) (pow (log (E)) 2))) (* y (pow (log (E)) 2)))))) (* y (log (E)))))
(log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))

rewrite1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Counts
8 → 8
Calls
Call 1
Inputs
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
#s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x))
(pow.f64 (E.f64) x)
(E.f64)
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
#s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))))
(log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
Outputs
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
#s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x))
(pow.f64 (E.f64) x)
(E.f64)
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
#s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))))
(log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))

eval2.0ms (0%)

Memory
3.6MiB live, 3.6MiB allocated
Compiler

Compiled 507 to 29 computations (94.3% saved)

prune7.0ms (0.2%)

Memory
12.9MiB live, 12.9MiB allocated
Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New18018
Fresh000
Picked033
Done044
Total18725
Accuracy
42.8%
Counts
25 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
41.9%
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
26.5%
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)))
26.5%
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
31.8%
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
3.4%
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))))
3.4%
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
6.7%
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
Compiler

Compiled 320 to 136 computations (57.5% saved)

regimes29.0ms (0.7%)

Memory
-28.1MiB live, 47.4MiB allocated
Counts
8 → 1
Calls
Call 1
Inputs
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
Outputs
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
Calls

9 calls:

4.0ms
c
3.0ms
y
3.0ms
x
3.0ms
(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
3.0ms
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
Results
AccuracySegmentsBranch
41.9%1c
41.9%1x
41.9%1y
41.9%1(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
41.9%1(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
41.9%1(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
41.9%1(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
41.9%1(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
41.9%1(pow.f64 (E.f64) x)
Compiler

Compiled 49 to 59 computations (-20.4% saved)

regimes25.0ms (0.6%)

Memory
6.0MiB live, 43.9MiB allocated
Counts
7 → 1
Calls
Call 1
Inputs
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
Outputs
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
Calls

9 calls:

4.0ms
(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
3.0ms
c
3.0ms
y
3.0ms
x
2.0ms
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
Results
AccuracySegmentsBranch
31.8%1x
31.8%1(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
31.8%1(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
31.8%1(pow.f64 (E.f64) x)
31.8%1y
31.8%1(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
31.8%1(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
31.8%1(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
31.8%1c
Compiler

Compiled 49 to 59 computations (-20.4% saved)

regimes44.0ms (1%)

Memory
0.4MiB live, 40.9MiB allocated
Counts
6 → 2
Calls
Call 1
Inputs
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
Outputs
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
Calls

9 calls:

24.0ms
(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
3.0ms
y
3.0ms
c
3.0ms
x
2.0ms
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
Results
AccuracySegmentsBranch
29.7%2x
29.7%2(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
29.7%2(pow.f64 (E.f64) x)
26.5%1y
26.5%1(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
28.2%2(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
26.5%1(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
26.5%1(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
26.5%1c
Compiler

Compiled 49 to 59 computations (-20.4% saved)

regimes6.0ms (0.1%)

Memory
20.1MiB live, 20.1MiB allocated
Counts
4 → 2
Calls
Call 1
Inputs
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)))
Outputs
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)))
Calls

3 calls:

2.0ms
x
2.0ms
(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
2.0ms
(pow.f64 (E.f64) x)
Results
AccuracySegmentsBranch
29.6%2x
29.6%2(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
29.6%2(pow.f64 (E.f64) x)
Compiler

Compiled 9 to 15 computations (-66.7% saved)

regimes18.0ms (0.4%)

Memory
-2.7MiB live, 33.0MiB allocated
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
Outputs
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
Calls

9 calls:

4.0ms
(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
2.0ms
c
2.0ms
y
2.0ms
x
2.0ms
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
Results
AccuracySegmentsBranch
6.7%1y
6.7%1c
6.7%1(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
6.7%1(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
6.7%1(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
6.7%1(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
6.7%1x
6.7%1(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
6.7%1(pow.f64 (E.f64) x)
Compiler

Compiled 49 to 59 computations (-20.4% saved)

regimes15.0ms (0.4%)

Memory
-8.9MiB live, 28.8MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64))))
Outputs
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
Calls

9 calls:

4.0ms
(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
1.0ms
c
1.0ms
x
1.0ms
y
1.0ms
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
Results
AccuracySegmentsBranch
3.4%1(*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)
3.4%1c
3.4%1(log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
3.4%1(+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))
3.4%1(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
3.4%1y
3.4%1x
3.4%1(-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))
3.4%1(pow.f64 (E.f64) x)
Compiler

Compiled 49 to 59 computations (-20.4% saved)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
0.0ms
0.9999999997756847
0.9999999999998347
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch29.0ms (0.7%)

Memory
7.2MiB live, 44.2MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
27.0ms
0.0
0.8913191570590848
Samples
15.0ms224×0valid
2.0ms45×0invalid
Compiler

Compiled 589 to 422 computations (28.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-log1p: 6.0ms (52.9% of total)
ival-mult: 3.0ms (26.5% of total)
ival-sub: 2.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)

simplify5.0ms (0.1%)

Memory
11.4MiB live, 11.4MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
(if (<=.f64 (pow.f64 (E.f64) x) #s(literal 281474976654361/281474976710656 binary64)) #s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x))) #s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
(if (<=.f64 (pow.f64 (E.f64) x) #s(literal 5935929635354509/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136 binary64)) #s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x))) #s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))
Outputs
(*.f64 c (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (log.f64 (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y))))
(if (<=.f64 (pow.f64 (E.f64) x) #s(literal 281474976654361/281474976710656 binary64)) #s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x))) #s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (*.f64 (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64)) y)))
(if (<=.f64 (pow.f64 (E.f64) x) #s(literal 5935929635354509/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136 binary64)) #s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x))) #s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) (-.f64 (pow.f64 (E.f64) x) #s(literal 1 binary64))))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (log (+ 1 (* (- (pow (E) x) 1) y))) (pow.f64 (E.f64) x)))
#s(approx (* c (log (+ 1 (* (- (pow (E) x) 1) y)))) #s(approx (+ 1 (* (- (pow (E) x) 1) y)) (E.f64)))

soundness1.0ms (0%)

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

Compiled 190 to 32 computations (83.2% saved)

preprocess45.0ms (1.1%)

Memory
-4.1MiB live, 74.4MiB allocated
Compiler

Compiled 418 to 100 computations (76.1% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...