Cubic critical, medium range

Time bar (total: 3.0s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze225.0ms (7.6%)

Memory
-58.7MiB live, 260.1MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
0%0%0%100%0%0%0%1
0%0%0%100%0%0%0%2
0%0%0%100%0%0%0%3
0%0%0%100%0%0%0%4
0%0%0%100%0%0%0%5
0%0%0%100%0%0%0%6
6.8%0%0%100%0%0%0%7
15.9%0%0%100%0%0%0%8
23.1%0%0%100%0%0%0%9
36.5%0%0%100%0%0%0%10
45.4%0%0%100%0%0%0%11
52.3%0%0%100%0%0%0%12
Compiler

Compiled 41 to 26 computations (36.6% saved)

sample2.3s (78.9%)

Memory
108.7MiB live, 2 250.1MiB allocated
Samples
1.2s5 199×1valid
415.0ms3 057×0valid
183.0ms1 199×0invalid
Precisions
Click to see histograms. Total time spent on operations: 1.4s
ival-mult: 285.0ms (20.3% of total)
const: 253.0ms (18% of total)
ival-<: 208.0ms (14.8% of total)
adjust: 144.0ms (10.2% of total)
ival-sqrt: 129.0ms (9.2% of total)
ival-div: 121.0ms (8.6% of total)
ival-neg: 73.0ms (5.2% of total)
ival-sub: 72.0ms (5.1% of total)
ival-add: 70.0ms (5% of total)
ival-and: 36.0ms (2.6% of total)
exact: 11.0ms (0.8% of total)
ival-assert: 4.0ms (0.3% of total)
Bogosity

explain175.0ms (5.9%)

Memory
-23.8MiB live, 251.7MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
2461(9.002025828480345e-15 53.98596066161524 1097283341914256.9)0-(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))))
00-0-a
00-0-#s(literal 3 binary64)
00-0-(*.f64 (*.f64 #s(literal 3 binary64) a) c)
00-0-(*.f64 b b)
00-0-c
00-0-(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))
00-0-(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
00-0-(neg.f64 b)
00-0-(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))
00-0-b
00-0-(*.f64 #s(literal 3 binary64) a)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
+.f64(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))))cancellation2470
Confusion
Predicted +Predicted -
+2460
-19
Precision
0.9959514170040485
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+24600
-109
Precision?
0.9959514170040485
Recall?
1.0
Freqs
test
numberfreq
09
1247
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
52.0ms326×1valid
15.0ms186×0valid
Compiler

Compiled 219 to 52 computations (76.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 43.0ms
ival-mult: 12.0ms (27.8% of total)
ival-sqrt: 7.0ms (16.2% of total)
ival-div: 6.0ms (13.9% of total)
adjust: 6.0ms (13.9% of total)
ival-add: 5.0ms (11.6% of total)
ival-sub: 4.0ms (9.3% of total)
ival-neg: 2.0ms (4.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess3.0ms (0.1%)

Memory
5.3MiB live, 5.3MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
Outputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
Compiler

Compiled 17 to 12 computations (29.4% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
33.2%
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
Compiler

Compiled 17 to 12 computations (29.4% saved)

simplify1.0ms (0%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))
cost-diff0
(neg.f64 b)
cost-diff0
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))))
cost-diff0
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
Calls
Call 1
Inputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))))
(neg.f64 b)
b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))
(*.f64 b b)
(*.f64 (*.f64 #s(literal 3 binary64) a) c)
(*.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
a
c
Outputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))))
(neg.f64 b)
b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))
(*.f64 b b)
(*.f64 (*.f64 #s(literal 3 binary64) a) c)
(*.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
a
c

localize62.0ms (2.1%)

Memory
-51.9MiB live, 46.3MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.1328125
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))
accuracy0.2578125
(*.f64 (*.f64 #s(literal 3 binary64) a) c)
accuracy0.34279252930532605
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
accuracy42.60166577059363
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))))
Samples
45.0ms163×1valid
8.0ms93×0valid
Compiler

Compiled 134 to 26 computations (80.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 41.0ms
adjust: 23.0ms (56.8% of total)
ival-mult: 6.0ms (14.8% of total)
ival-div: 3.0ms (7.4% of total)
ival-sqrt: 3.0ms (7.4% of total)
ival-add: 2.0ms (4.9% of total)
ival-sub: 2.0ms (4.9% of total)
ival-neg: 1.0ms (2.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series26.0ms (0.9%)

Memory
-9.3MiB live, 29.1MiB allocated
Counts
6 → 99
Calls
Call 1
Inputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))))
(neg.f64 b)
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))
(*.f64 (*.f64 #s(literal 3 binary64) a) c)
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))
Outputs
(* -1/2 (/ c b))
(+ (* -1/2 (/ c b)) (* -3/8 (/ (* a (pow c 2)) (pow b 3))))
(+ (* -1/2 (/ c b)) (* a (+ (* -9/16 (/ (* a (pow c 3)) (pow b 5))) (* -3/8 (/ (pow c 2) (pow b 3))))))
(+ (* -1/2 (/ c b)) (* a (+ (* -3/8 (/ (pow c 2) (pow b 3))) (* a (+ (* -9/16 (/ (pow c 3) (pow b 5))) (* -1/6 (/ (* a (+ (* 81/64 (/ (pow c 4) (pow b 6))) (* 81/16 (/ (pow c 4) (pow b 6))))) b)))))))
(* -3/2 (/ (* a c) b))
(* a (+ (* -3/2 (/ c b)) (* -9/8 (/ (* a (pow c 2)) (pow b 3)))))
(* a (+ (* -3/2 (/ c b)) (* a (+ (* -27/16 (/ (* a (pow c 3)) (pow b 5))) (* -9/8 (/ (pow c 2) (pow b 3)))))))
(* a (+ (* -3/2 (/ c b)) (* a (+ (* -9/8 (/ (pow c 2) (pow b 3))) (* a (+ (* -27/16 (/ (pow c 3) (pow b 5))) (* -1/2 (/ (* a (+ (* 81/64 (/ (pow c 4) (pow b 6))) (* 81/16 (/ (pow c 4) (pow b 6))))) b))))))))
b
(+ b (* -3/2 (/ (* a c) b)))
(+ b (* a (+ (* -3/2 (/ c b)) (* -9/8 (/ (* a (pow c 2)) (pow b 3))))))
(+ b (* a (+ (* -3/2 (/ c b)) (* a (+ (* -27/16 (/ (* a (pow c 3)) (pow b 5))) (* -9/8 (/ (pow c 2) (pow b 3))))))))
(* 3 (* a c))
(pow b 2)
(+ (* -3 (* a c)) (pow b 2))
(* 1/3 (* (sqrt (/ c a)) (sqrt -3)))
(+ (* -1/3 (/ b a)) (* 1/3 (* (sqrt (/ c a)) (sqrt -3))))
(+ (* -1/3 (/ b a)) (+ (* 1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* 1/3 (* (sqrt (/ c a)) (sqrt -3)))))
(+ (* -1/3 (/ b a)) (+ (* -1/24 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* 1/3 (* (sqrt (/ c a)) (sqrt -3))))))
(* (sqrt (* a c)) (sqrt -3))
(* a (+ (* -1 (/ b a)) (* (sqrt (/ c a)) (sqrt -3))))
(* a (- (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3))) (/ b a)))
(* a (- (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3)))) (/ b a)))
(* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3))))
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3)))))
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow c 5)))) (/ (pow b 6) (pow (sqrt -3) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3))))))
(* -3 (* a c))
(* a (- (/ (pow b 2) a) (* 3 c)))
(* -1/3 (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))
(+ (* -1/3 (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3)))) (* -1/3 (/ b a)))
(+ (* -1 (/ (+ (* 1/6 (* (sqrt (/ 1 (* a c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* 1/3 b)) a)) (* -1/3 (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3)))))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/6 (* (sqrt (/ a c)) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* 1/24 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3))))) a)) (* 1/3 b)) a)) (* -1/3 (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3)))))
(* -1 (* (sqrt (* a c)) (* (sqrt -1) (sqrt 3))))
(* -1 (* a (+ (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))) (/ b a))))
(* -1 (* a (+ (* -1 (/ (- (* -1/2 (* (sqrt (/ 1 (* a c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) b) a)) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* a (+ (* -1 (/ (- (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (* 1/2 (* (sqrt (/ a c)) (/ (* (pow b 2) (sqrt -1)) (sqrt 3))))) a)) b) a)) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3)))))))
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow c 5)))) (/ (* (pow b 6) (sqrt -1)) (pow (sqrt 3) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))))))
(* -1 (* a (- (* -1 (/ (pow b 2) a)) (* -3 c))))
(+ (* 1/3 (* (sqrt (/ c a)) (sqrt -3))) (* b (- (* 1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ b (sqrt -3)))) (* 1/3 (/ 1 a)))))
(+ (* 1/3 (* (sqrt (/ c a)) (sqrt -3))) (* b (- (* b (+ (* -1/24 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 2) (pow (sqrt -3) 3)))) (* 1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ 1 (sqrt -3)))))) (* 1/3 (/ 1 a)))))
(+ (* -1 b) (* (sqrt (* a c)) (sqrt -3)))
(+ (* b (- (* 1/2 (* (sqrt (/ 1 (* a c))) (/ b (sqrt -3)))) 1)) (* (sqrt (* a c)) (sqrt -3)))
(+ (* b (- (* b (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ (pow b 2) (pow (sqrt -3) 3)))) (* 1/2 (* (sqrt (/ 1 (* a c))) (/ 1 (sqrt -3)))))) 1)) (* (sqrt (* a c)) (sqrt -3)))
(* -1 b)
(+ (* 1/2 (* (sqrt (/ 1 (* a c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (* a c)) (sqrt -3)))
(+ (* (sqrt (* a c)) (sqrt -3)) (* (pow b 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ (pow b 2) (pow (sqrt -3) 3)))) (* 1/2 (* (sqrt (/ 1 (* a c))) (/ 1 (sqrt -3)))))))
(+ (* (sqrt (* a c)) (sqrt -3)) (* (pow b 2) (+ (* 1/2 (* (sqrt (/ 1 (* a c))) (/ 1 (sqrt -3)))) (* (pow b 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ 1 (pow (sqrt -3) 3)))) (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow c 5)))) (/ (pow b 2) (pow (sqrt -3) 5)))))))))
(- (pow b 2) (* 3 (* a c)))
(/ (+ (* -1/2 c) (* -3/8 (/ (* a (pow c 2)) (pow b 2)))) b)
(/ (+ (* -9/16 (/ (* (pow a 2) (pow c 3)) (pow b 4))) (+ (* -1/2 c) (* -3/8 (/ (* a (pow c 2)) (pow b 2))))) b)
(/ (+ (* -9/16 (/ (* (pow a 2) (pow c 3)) (pow b 4))) (+ (* -1/2 c) (+ (* -3/8 (/ (* a (pow c 2)) (pow b 2))) (* -1/6 (/ (+ (* 81/64 (* (pow a 4) (pow c 4))) (* 81/16 (* (pow a 4) (pow c 4)))) (* a (pow b 6))))))) b)
(/ (+ (* -3/2 (* a c)) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 2)))) b)
(/ (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 4))) (+ (* -3/2 (* a c)) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 2))))) b)
(/ (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 4))) (+ (* -3/2 (* a c)) (+ (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 2))) (* -1/2 (/ (+ (* 81/64 (* (pow a 4) (pow c 4))) (* 81/16 (* (pow a 4) (pow c 4)))) (pow b 6)))))) b)
(* b (+ 1 (* -3/2 (/ (* a c) (pow b 2)))))
(* b (+ 1 (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4))))))
(* b (+ 1 (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 6))) (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4)))))))
(* (pow b 2) (+ 1 (* -3 (/ (* a c) (pow b 2)))))
(* -2/3 (/ b a))
(* -1 (* b (+ (* -1/2 (/ c (pow b 2))) (* 2/3 (/ 1 a)))))
(* -1 (* b (+ (* -1/2 (/ c (pow b 2))) (+ (* -3/8 (/ (* a (pow c 2)) (pow b 4))) (* 2/3 (/ 1 a))))))
(* -1 (* b (+ (* -9/16 (/ (* (pow a 2) (pow c 3)) (pow b 6))) (+ (* -1/2 (/ c (pow b 2))) (+ (* -3/8 (/ (* a (pow c 2)) (pow b 4))) (* 2/3 (/ 1 a)))))))
(* -2 b)
(* -1 (* b (+ 2 (* -3/2 (/ (* a c) (pow b 2))))))
(* -1 (* b (+ 2 (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4)))))))
(* -1 (* b (+ 2 (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 6))) (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4))))))))
(* -1 (* b (+ 1 (* -3/2 (/ (* a c) (pow b 2))))))
(* -1 (* b (+ 1 (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4)))))))
(* -1 (* b (+ 1 (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 6))) (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4))))))))
(* c (- (* -3/8 (/ (* a c) (pow b 3))) (* 1/2 (/ 1 b))))
(* c (- (* c (+ (* -9/16 (/ (* (pow a 2) c) (pow b 5))) (* -3/8 (/ a (pow b 3))))) (* 1/2 (/ 1 b))))
(* c (- (* c (+ (* -3/8 (/ a (pow b 3))) (* c (+ (* -9/16 (/ (pow a 2) (pow b 5))) (* -1/6 (/ (* c (+ (* 81/64 (/ (pow a 4) (pow b 6))) (* 81/16 (/ (pow a 4) (pow b 6))))) (* a b))))))) (* 1/2 (/ 1 b))))
(* c (+ (* -3/2 (/ a b)) (* -9/8 (/ (* (pow a 2) c) (pow b 3)))))
(* c (+ (* -3/2 (/ a b)) (* c (+ (* -27/16 (/ (* (pow a 3) c) (pow b 5))) (* -9/8 (/ (pow a 2) (pow b 3)))))))
(* c (+ (* -3/2 (/ a b)) (* c (+ (* -9/8 (/ (pow a 2) (pow b 3))) (* c (+ (* -27/16 (/ (pow a 3) (pow b 5))) (* -1/2 (/ (* c (+ (* 81/64 (/ (pow a 4) (pow b 6))) (* 81/16 (/ (pow a 4) (pow b 6))))) b))))))))
(+ b (* c (+ (* -3/2 (/ a b)) (* -9/8 (/ (* (pow a 2) c) (pow b 3))))))
(+ b (* c (+ (* -3/2 (/ a b)) (* c (+ (* -27/16 (/ (* (pow a 3) c) (pow b 5))) (* -9/8 (/ (pow a 2) (pow b 3))))))))
(* c (+ (* -1/3 (/ b (* a c))) (* 1/3 (* (sqrt (/ 1 (* a c))) (sqrt -3)))))
(* c (+ (* -1/3 (/ b (* a c))) (+ (* 1/6 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* 1/3 (* (sqrt (/ 1 (* a c))) (sqrt -3))))))
(* c (+ (* -1/3 (/ b (* a c))) (+ (* -1/24 (* (sqrt (/ 1 (* (pow a 5) (pow c 5)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/6 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* 1/3 (* (sqrt (/ 1 (* a c))) (sqrt -3)))))))
(* c (+ (* -1 (/ b c)) (* (sqrt (/ a c)) (sqrt -3))))
(* c (- (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3))) (/ b c)))
(* c (- (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3)))) (/ b c)))
(* c (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3))))
(* c (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3)))))
(* c (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow c 7)))) (/ (pow b 6) (pow (sqrt -3) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3))))))
(* c (- (/ (pow b 2) c) (* 3 a)))
(* -1 (* c (+ (* 1/3 (* (sqrt (/ 1 (* a c))) (* (sqrt -1) (sqrt 3)))) (* 1/3 (/ b (* a c))))))
(* -1 (* c (+ (* -1 (/ (+ (* -1/3 (/ b a)) (* -1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3))))) c)) (* 1/3 (* (sqrt (/ 1 (* a c))) (* (sqrt -1) (sqrt 3)))))))
(* -1 (* c (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/24 (* (sqrt (/ 1 (* (pow a 5) c))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (* 1/6 (* (sqrt (/ c (pow a 3))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3))))) c)) (* -1/3 (/ b a))) c)) (* 1/3 (* (sqrt (/ 1 (* a c))) (* (sqrt -1) (sqrt 3)))))))
(* -1 (* c (+ (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))) (/ b c))))
(* -1 (* c (+ (* -1 (/ (- (* -1/2 (* (sqrt (/ 1 (* a c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) b) c)) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* c (+ (* -1 (/ (- (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (* 1/2 (* (sqrt (/ c a)) (/ (* (pow b 2) (sqrt -1)) (sqrt 3))))) c)) b) c)) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* c (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* c (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3)))))))
(* -1 (* c (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow c 7)))) (/ (* (pow b 6) (sqrt -1)) (pow (sqrt 3) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))))))))
(* -1 (* c (- (* -1 (/ (pow b 2) c)) (* -3 a))))
Calls

9 calls:

TimeVariablePointExpression
5.0ms
b
@inf
((/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (neg b) (sqrt (- (* b b) (* (* 3 a) c))) (* (* 3 a) c) (- (* b b) (* (* 3 a) c)))
3.0ms
a
@inf
((/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (neg b) (sqrt (- (* b b) (* (* 3 a) c))) (* (* 3 a) c) (- (* b b) (* (* 3 a) c)))
3.0ms
c
@-inf
((/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (neg b) (sqrt (- (* b b) (* (* 3 a) c))) (* (* 3 a) c) (- (* b b) (* (* 3 a) c)))
3.0ms
a
@-inf
((/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (neg b) (sqrt (- (* b b) (* (* 3 a) c))) (* (* 3 a) c) (- (* b b) (* (* 3 a) c)))
2.0ms
c
@inf
((/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (neg b) (sqrt (- (* b b) (* (* 3 a) c))) (* (* 3 a) c) (- (* b b) (* (* 3 a) c)))

simplify2.0ms (0.1%)

Memory
2.2MiB live, 2.2MiB allocated
Algorithm
egg-herbie
Counts
99 → 6
Calls
Call 1
Inputs
(* -1/2 (/ c b))
(+ (* -1/2 (/ c b)) (* -3/8 (/ (* a (pow c 2)) (pow b 3))))
(+ (* -1/2 (/ c b)) (* a (+ (* -9/16 (/ (* a (pow c 3)) (pow b 5))) (* -3/8 (/ (pow c 2) (pow b 3))))))
(+ (* -1/2 (/ c b)) (* a (+ (* -3/8 (/ (pow c 2) (pow b 3))) (* a (+ (* -9/16 (/ (pow c 3) (pow b 5))) (* -1/6 (/ (* a (+ (* 81/64 (/ (pow c 4) (pow b 6))) (* 81/16 (/ (pow c 4) (pow b 6))))) b)))))))
(* -3/2 (/ (* a c) b))
(* a (+ (* -3/2 (/ c b)) (* -9/8 (/ (* a (pow c 2)) (pow b 3)))))
(* a (+ (* -3/2 (/ c b)) (* a (+ (* -27/16 (/ (* a (pow c 3)) (pow b 5))) (* -9/8 (/ (pow c 2) (pow b 3)))))))
(* a (+ (* -3/2 (/ c b)) (* a (+ (* -9/8 (/ (pow c 2) (pow b 3))) (* a (+ (* -27/16 (/ (pow c 3) (pow b 5))) (* -1/2 (/ (* a (+ (* 81/64 (/ (pow c 4) (pow b 6))) (* 81/16 (/ (pow c 4) (pow b 6))))) b))))))))
b
(+ b (* -3/2 (/ (* a c) b)))
(+ b (* a (+ (* -3/2 (/ c b)) (* -9/8 (/ (* a (pow c 2)) (pow b 3))))))
(+ b (* a (+ (* -3/2 (/ c b)) (* a (+ (* -27/16 (/ (* a (pow c 3)) (pow b 5))) (* -9/8 (/ (pow c 2) (pow b 3))))))))
(* 3 (* a c))
(pow b 2)
(+ (* -3 (* a c)) (pow b 2))
(* 1/3 (* (sqrt (/ c a)) (sqrt -3)))
(+ (* -1/3 (/ b a)) (* 1/3 (* (sqrt (/ c a)) (sqrt -3))))
(+ (* -1/3 (/ b a)) (+ (* 1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* 1/3 (* (sqrt (/ c a)) (sqrt -3)))))
(+ (* -1/3 (/ b a)) (+ (* -1/24 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* 1/3 (* (sqrt (/ c a)) (sqrt -3))))))
(* (sqrt (* a c)) (sqrt -3))
(* a (+ (* -1 (/ b a)) (* (sqrt (/ c a)) (sqrt -3))))
(* a (- (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3))) (/ b a)))
(* a (- (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3)))) (/ b a)))
(* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3))))
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3)))))
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow c 5)))) (/ (pow b 6) (pow (sqrt -3) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3))))))
(* -3 (* a c))
(* a (- (/ (pow b 2) a) (* 3 c)))
(* -1/3 (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))
(+ (* -1/3 (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3)))) (* -1/3 (/ b a)))
(+ (* -1 (/ (+ (* 1/6 (* (sqrt (/ 1 (* a c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* 1/3 b)) a)) (* -1/3 (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3)))))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/6 (* (sqrt (/ a c)) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* 1/24 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3))))) a)) (* 1/3 b)) a)) (* -1/3 (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3)))))
(* -1 (* (sqrt (* a c)) (* (sqrt -1) (sqrt 3))))
(* -1 (* a (+ (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))) (/ b a))))
(* -1 (* a (+ (* -1 (/ (- (* -1/2 (* (sqrt (/ 1 (* a c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) b) a)) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* a (+ (* -1 (/ (- (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (* 1/2 (* (sqrt (/ a c)) (/ (* (pow b 2) (sqrt -1)) (sqrt 3))))) a)) b) a)) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3)))))))
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow c 5)))) (/ (* (pow b 6) (sqrt -1)) (pow (sqrt 3) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))))))
(* -1 (* a (- (* -1 (/ (pow b 2) a)) (* -3 c))))
(+ (* 1/3 (* (sqrt (/ c a)) (sqrt -3))) (* b (- (* 1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ b (sqrt -3)))) (* 1/3 (/ 1 a)))))
(+ (* 1/3 (* (sqrt (/ c a)) (sqrt -3))) (* b (- (* b (+ (* -1/24 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 2) (pow (sqrt -3) 3)))) (* 1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ 1 (sqrt -3)))))) (* 1/3 (/ 1 a)))))
(+ (* -1 b) (* (sqrt (* a c)) (sqrt -3)))
(+ (* b (- (* 1/2 (* (sqrt (/ 1 (* a c))) (/ b (sqrt -3)))) 1)) (* (sqrt (* a c)) (sqrt -3)))
(+ (* b (- (* b (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ (pow b 2) (pow (sqrt -3) 3)))) (* 1/2 (* (sqrt (/ 1 (* a c))) (/ 1 (sqrt -3)))))) 1)) (* (sqrt (* a c)) (sqrt -3)))
(* -1 b)
(+ (* 1/2 (* (sqrt (/ 1 (* a c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (* a c)) (sqrt -3)))
(+ (* (sqrt (* a c)) (sqrt -3)) (* (pow b 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ (pow b 2) (pow (sqrt -3) 3)))) (* 1/2 (* (sqrt (/ 1 (* a c))) (/ 1 (sqrt -3)))))))
(+ (* (sqrt (* a c)) (sqrt -3)) (* (pow b 2) (+ (* 1/2 (* (sqrt (/ 1 (* a c))) (/ 1 (sqrt -3)))) (* (pow b 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ 1 (pow (sqrt -3) 3)))) (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow c 5)))) (/ (pow b 2) (pow (sqrt -3) 5)))))))))
(- (pow b 2) (* 3 (* a c)))
(/ (+ (* -1/2 c) (* -3/8 (/ (* a (pow c 2)) (pow b 2)))) b)
(/ (+ (* -9/16 (/ (* (pow a 2) (pow c 3)) (pow b 4))) (+ (* -1/2 c) (* -3/8 (/ (* a (pow c 2)) (pow b 2))))) b)
(/ (+ (* -9/16 (/ (* (pow a 2) (pow c 3)) (pow b 4))) (+ (* -1/2 c) (+ (* -3/8 (/ (* a (pow c 2)) (pow b 2))) (* -1/6 (/ (+ (* 81/64 (* (pow a 4) (pow c 4))) (* 81/16 (* (pow a 4) (pow c 4)))) (* a (pow b 6))))))) b)
(/ (+ (* -3/2 (* a c)) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 2)))) b)
(/ (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 4))) (+ (* -3/2 (* a c)) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 2))))) b)
(/ (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 4))) (+ (* -3/2 (* a c)) (+ (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 2))) (* -1/2 (/ (+ (* 81/64 (* (pow a 4) (pow c 4))) (* 81/16 (* (pow a 4) (pow c 4)))) (pow b 6)))))) b)
(* b (+ 1 (* -3/2 (/ (* a c) (pow b 2)))))
(* b (+ 1 (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4))))))
(* b (+ 1 (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 6))) (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4)))))))
(* (pow b 2) (+ 1 (* -3 (/ (* a c) (pow b 2)))))
(* -2/3 (/ b a))
(* -1 (* b (+ (* -1/2 (/ c (pow b 2))) (* 2/3 (/ 1 a)))))
(* -1 (* b (+ (* -1/2 (/ c (pow b 2))) (+ (* -3/8 (/ (* a (pow c 2)) (pow b 4))) (* 2/3 (/ 1 a))))))
(* -1 (* b (+ (* -9/16 (/ (* (pow a 2) (pow c 3)) (pow b 6))) (+ (* -1/2 (/ c (pow b 2))) (+ (* -3/8 (/ (* a (pow c 2)) (pow b 4))) (* 2/3 (/ 1 a)))))))
(* -2 b)
(* -1 (* b (+ 2 (* -3/2 (/ (* a c) (pow b 2))))))
(* -1 (* b (+ 2 (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4)))))))
(* -1 (* b (+ 2 (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 6))) (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4))))))))
(* -1 (* b (+ 1 (* -3/2 (/ (* a c) (pow b 2))))))
(* -1 (* b (+ 1 (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4)))))))
(* -1 (* b (+ 1 (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 6))) (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4))))))))
(* c (- (* -3/8 (/ (* a c) (pow b 3))) (* 1/2 (/ 1 b))))
(* c (- (* c (+ (* -9/16 (/ (* (pow a 2) c) (pow b 5))) (* -3/8 (/ a (pow b 3))))) (* 1/2 (/ 1 b))))
(* c (- (* c (+ (* -3/8 (/ a (pow b 3))) (* c (+ (* -9/16 (/ (pow a 2) (pow b 5))) (* -1/6 (/ (* c (+ (* 81/64 (/ (pow a 4) (pow b 6))) (* 81/16 (/ (pow a 4) (pow b 6))))) (* a b))))))) (* 1/2 (/ 1 b))))
(* c (+ (* -3/2 (/ a b)) (* -9/8 (/ (* (pow a 2) c) (pow b 3)))))
(* c (+ (* -3/2 (/ a b)) (* c (+ (* -27/16 (/ (* (pow a 3) c) (pow b 5))) (* -9/8 (/ (pow a 2) (pow b 3)))))))
(* c (+ (* -3/2 (/ a b)) (* c (+ (* -9/8 (/ (pow a 2) (pow b 3))) (* c (+ (* -27/16 (/ (pow a 3) (pow b 5))) (* -1/2 (/ (* c (+ (* 81/64 (/ (pow a 4) (pow b 6))) (* 81/16 (/ (pow a 4) (pow b 6))))) b))))))))
(+ b (* c (+ (* -3/2 (/ a b)) (* -9/8 (/ (* (pow a 2) c) (pow b 3))))))
(+ b (* c (+ (* -3/2 (/ a b)) (* c (+ (* -27/16 (/ (* (pow a 3) c) (pow b 5))) (* -9/8 (/ (pow a 2) (pow b 3))))))))
(* c (+ (* -1/3 (/ b (* a c))) (* 1/3 (* (sqrt (/ 1 (* a c))) (sqrt -3)))))
(* c (+ (* -1/3 (/ b (* a c))) (+ (* 1/6 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* 1/3 (* (sqrt (/ 1 (* a c))) (sqrt -3))))))
(* c (+ (* -1/3 (/ b (* a c))) (+ (* -1/24 (* (sqrt (/ 1 (* (pow a 5) (pow c 5)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/6 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* 1/3 (* (sqrt (/ 1 (* a c))) (sqrt -3)))))))
(* c (+ (* -1 (/ b c)) (* (sqrt (/ a c)) (sqrt -3))))
(* c (- (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3))) (/ b c)))
(* c (- (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3)))) (/ b c)))
(* c (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3))))
(* c (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3)))))
(* c (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow c 7)))) (/ (pow b 6) (pow (sqrt -3) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3))))))
(* c (- (/ (pow b 2) c) (* 3 a)))
(* -1 (* c (+ (* 1/3 (* (sqrt (/ 1 (* a c))) (* (sqrt -1) (sqrt 3)))) (* 1/3 (/ b (* a c))))))
(* -1 (* c (+ (* -1 (/ (+ (* -1/3 (/ b a)) (* -1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3))))) c)) (* 1/3 (* (sqrt (/ 1 (* a c))) (* (sqrt -1) (sqrt 3)))))))
(* -1 (* c (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/24 (* (sqrt (/ 1 (* (pow a 5) c))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (* 1/6 (* (sqrt (/ c (pow a 3))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3))))) c)) (* -1/3 (/ b a))) c)) (* 1/3 (* (sqrt (/ 1 (* a c))) (* (sqrt -1) (sqrt 3)))))))
(* -1 (* c (+ (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))) (/ b c))))
(* -1 (* c (+ (* -1 (/ (- (* -1/2 (* (sqrt (/ 1 (* a c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) b) c)) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* c (+ (* -1 (/ (- (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (* 1/2 (* (sqrt (/ c a)) (/ (* (pow b 2) (sqrt -1)) (sqrt 3))))) c)) b) c)) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* c (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* c (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3)))))))
(* -1 (* c (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow c 7)))) (/ (* (pow b 6) (sqrt -1)) (pow (sqrt 3) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))))))))
(* -1 (* c (- (* -1 (/ (pow b 2) c)) (* -3 a))))
Outputs
(* -1/2 (/ c b))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
(+ (* -1/2 (/ c b)) (* -3/8 (/ (* a (pow c 2)) (pow b 3))))
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))))
(+ (* -1/2 (/ c b)) (* a (+ (* -9/16 (/ (* a (pow c 3)) (pow b 5))) (* -3/8 (/ (pow c 2) (pow b 3))))))
(neg.f64 b)
(+ (* -1/2 (/ c b)) (* a (+ (* -3/8 (/ (pow c 2) (pow b 3))) (* a (+ (* -9/16 (/ (pow c 3) (pow b 5))) (* -1/6 (/ (* a (+ (* 81/64 (/ (pow c 4) (pow b 6))) (* 81/16 (/ (pow c 4) (pow b 6))))) b)))))))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))
(* -3/2 (/ (* a c) b))
(*.f64 (*.f64 #s(literal 3 binary64) a) c)
(* a (+ (* -3/2 (/ c b)) (* -9/8 (/ (* a (pow c 2)) (pow b 3)))))
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))

rewrite0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Counts
6 → 6
Calls
Call 1
Inputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))))
(neg.f64 b)
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))
(*.f64 (*.f64 #s(literal 3 binary64) a) c)
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))
Outputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))))
(neg.f64 b)
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))
(*.f64 (*.f64 #s(literal 3 binary64) a) c)
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))

eval1.0ms (0%)

Memory
1.9MiB live, 1.9MiB allocated
Compiler

Compiled 266 to 29 computations (89.1% saved)

prune2.0ms (0.1%)

Memory
2.1MiB live, 2.1MiB allocated
Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New10212
Fresh000
Picked011
Done000
Total10313
Accuracy
36.0%
Counts
13 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
33.2%
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
7.9%
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))))
10.4%
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg.f64 b))
Compiler

Compiled 68 to 47 computations (30.9% saved)

simplify1.0ms (0%)

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

Found 6 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))
cost-diff0
(neg.f64 b)
cost-diff0
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))))
cost-diff0
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))))
cost-diff0
(neg.f64 b)
cost-diff0
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg.f64 b))
Calls
Call 1
Inputs
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg.f64 b))
(neg.f64 b)
b
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))))
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))))
(neg.f64 b)
b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))
(*.f64 b b)
(*.f64 (*.f64 #s(literal 3 binary64) a) c)
(*.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
a
c
Outputs
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg.f64 b))
(neg.f64 b)
b
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))))
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))))
(neg.f64 b)
b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))
(*.f64 b b)
(*.f64 (*.f64 #s(literal 3 binary64) a) c)
(*.f64 #s(literal 3 binary64) a)
#s(literal 3 binary64)
a
c

localize56.0ms (1.9%)

Memory
6.1MiB live, 44.4MiB allocated
Localize:

Found 6 expressions of interest:

NewMetricScoreProgram
accuracy0.1328125
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))
accuracy0.2578125
(*.f64 (*.f64 #s(literal 3 binary64) a) c)
accuracy42.60166577059363
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))))
accuracy56.30492827362928
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))))
accuracy0.0
(neg.f64 b)
accuracy57.314629724540865
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg.f64 b))
Samples
25.0ms163×1valid
21.0ms93×0valid
Compiler

Compiled 191 to 36 computations (81.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-mult: 6.0ms (29.8% of total)
ival-div: 3.0ms (14.9% of total)
adjust: 3.0ms (14.9% of total)
ival-sqrt: 3.0ms (14.9% of total)
ival-add: 2.0ms (9.9% of total)
ival-sub: 2.0ms (9.9% of total)
ival-neg: 1.0ms (5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series8.0ms (0.3%)

Memory
10.2MiB live, 10.2MiB allocated
Counts
7 → 99
Calls
Call 1
Inputs
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg.f64 b))
(neg.f64 b)
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))))
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))
(*.f64 (*.f64 #s(literal 3 binary64) a) c)
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))
Outputs
(* -1/2 (/ c b))
(+ (* -1/2 (/ c b)) (* -3/8 (/ (* a (pow c 2)) (pow b 3))))
(+ (* -1/2 (/ c b)) (* a (+ (* -9/16 (/ (* a (pow c 3)) (pow b 5))) (* -3/8 (/ (pow c 2) (pow b 3))))))
(+ (* -1/2 (/ c b)) (* a (+ (* -3/8 (/ (pow c 2) (pow b 3))) (* a (+ (* -9/16 (/ (pow c 3) (pow b 5))) (* -1/6 (/ (* a (+ (* 81/64 (/ (pow c 4) (pow b 6))) (* 81/16 (/ (pow c 4) (pow b 6))))) b)))))))
(* -3/2 (/ (* a c) b))
(* a (+ (* -3/2 (/ c b)) (* -9/8 (/ (* a (pow c 2)) (pow b 3)))))
(* a (+ (* -3/2 (/ c b)) (* a (+ (* -27/16 (/ (* a (pow c 3)) (pow b 5))) (* -9/8 (/ (pow c 2) (pow b 3)))))))
(* a (+ (* -3/2 (/ c b)) (* a (+ (* -9/8 (/ (pow c 2) (pow b 3))) (* a (+ (* -27/16 (/ (pow c 3) (pow b 5))) (* -1/2 (/ (* a (+ (* 81/64 (/ (pow c 4) (pow b 6))) (* 81/16 (/ (pow c 4) (pow b 6))))) b))))))))
b
(+ b (* -3/2 (/ (* a c) b)))
(+ b (* a (+ (* -3/2 (/ c b)) (* -9/8 (/ (* a (pow c 2)) (pow b 3))))))
(+ b (* a (+ (* -3/2 (/ c b)) (* a (+ (* -27/16 (/ (* a (pow c 3)) (pow b 5))) (* -9/8 (/ (pow c 2) (pow b 3))))))))
(* 3 (* a c))
(pow b 2)
(+ (* -3 (* a c)) (pow b 2))
(* 1/3 (* (sqrt (/ c a)) (sqrt -3)))
(+ (* -1/3 (/ b a)) (* 1/3 (* (sqrt (/ c a)) (sqrt -3))))
(+ (* -1/3 (/ b a)) (+ (* 1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* 1/3 (* (sqrt (/ c a)) (sqrt -3)))))
(+ (* -1/3 (/ b a)) (+ (* -1/24 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* 1/3 (* (sqrt (/ c a)) (sqrt -3))))))
(* (sqrt (* a c)) (sqrt -3))
(* a (+ (* -1 (/ b a)) (* (sqrt (/ c a)) (sqrt -3))))
(* a (- (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3))) (/ b a)))
(* a (- (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3)))) (/ b a)))
(* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3))))
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3)))))
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow c 5)))) (/ (pow b 6) (pow (sqrt -3) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3))))))
(* -3 (* a c))
(* a (- (/ (pow b 2) a) (* 3 c)))
(* -1/3 (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))
(+ (* -1/3 (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3)))) (* -1/3 (/ b a)))
(+ (* -1 (/ (+ (* 1/6 (* (sqrt (/ 1 (* a c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* 1/3 b)) a)) (* -1/3 (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3)))))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/6 (* (sqrt (/ a c)) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* 1/24 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3))))) a)) (* 1/3 b)) a)) (* -1/3 (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3)))))
(* -1 (* (sqrt (* a c)) (* (sqrt -1) (sqrt 3))))
(* -1 (* a (+ (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))) (/ b a))))
(* -1 (* a (+ (* -1 (/ (- (* -1/2 (* (sqrt (/ 1 (* a c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) b) a)) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* a (+ (* -1 (/ (- (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (* 1/2 (* (sqrt (/ a c)) (/ (* (pow b 2) (sqrt -1)) (sqrt 3))))) a)) b) a)) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3)))))))
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow c 5)))) (/ (* (pow b 6) (sqrt -1)) (pow (sqrt 3) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))))))
(* -1 (* a (- (* -1 (/ (pow b 2) a)) (* -3 c))))
(+ (* 1/3 (* (sqrt (/ c a)) (sqrt -3))) (* b (- (* 1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ b (sqrt -3)))) (* 1/3 (/ 1 a)))))
(+ (* 1/3 (* (sqrt (/ c a)) (sqrt -3))) (* b (- (* b (+ (* -1/24 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 2) (pow (sqrt -3) 3)))) (* 1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ 1 (sqrt -3)))))) (* 1/3 (/ 1 a)))))
(* -1 b)
(+ (* -1 b) (* (sqrt (* a c)) (sqrt -3)))
(+ (* b (- (* 1/2 (* (sqrt (/ 1 (* a c))) (/ b (sqrt -3)))) 1)) (* (sqrt (* a c)) (sqrt -3)))
(+ (* b (- (* b (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ (pow b 2) (pow (sqrt -3) 3)))) (* 1/2 (* (sqrt (/ 1 (* a c))) (/ 1 (sqrt -3)))))) 1)) (* (sqrt (* a c)) (sqrt -3)))
(+ (* 1/2 (* (sqrt (/ 1 (* a c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (* a c)) (sqrt -3)))
(+ (* (sqrt (* a c)) (sqrt -3)) (* (pow b 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ (pow b 2) (pow (sqrt -3) 3)))) (* 1/2 (* (sqrt (/ 1 (* a c))) (/ 1 (sqrt -3)))))))
(+ (* (sqrt (* a c)) (sqrt -3)) (* (pow b 2) (+ (* 1/2 (* (sqrt (/ 1 (* a c))) (/ 1 (sqrt -3)))) (* (pow b 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ 1 (pow (sqrt -3) 3)))) (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow c 5)))) (/ (pow b 2) (pow (sqrt -3) 5)))))))))
(- (pow b 2) (* 3 (* a c)))
(/ (+ (* -1/2 c) (* -3/8 (/ (* a (pow c 2)) (pow b 2)))) b)
(/ (+ (* -9/16 (/ (* (pow a 2) (pow c 3)) (pow b 4))) (+ (* -1/2 c) (* -3/8 (/ (* a (pow c 2)) (pow b 2))))) b)
(/ (+ (* -9/16 (/ (* (pow a 2) (pow c 3)) (pow b 4))) (+ (* -1/2 c) (+ (* -3/8 (/ (* a (pow c 2)) (pow b 2))) (* -1/6 (/ (+ (* 81/64 (* (pow a 4) (pow c 4))) (* 81/16 (* (pow a 4) (pow c 4)))) (* a (pow b 6))))))) b)
(/ (+ (* -3/2 (* a c)) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 2)))) b)
(/ (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 4))) (+ (* -3/2 (* a c)) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 2))))) b)
(/ (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 4))) (+ (* -3/2 (* a c)) (+ (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 2))) (* -1/2 (/ (+ (* 81/64 (* (pow a 4) (pow c 4))) (* 81/16 (* (pow a 4) (pow c 4)))) (pow b 6)))))) b)
(* b (+ 1 (* -3/2 (/ (* a c) (pow b 2)))))
(* b (+ 1 (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4))))))
(* b (+ 1 (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 6))) (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4)))))))
(* (pow b 2) (+ 1 (* -3 (/ (* a c) (pow b 2)))))
(* -2/3 (/ b a))
(* -1 (* b (+ (* -1/2 (/ c (pow b 2))) (* 2/3 (/ 1 a)))))
(* -1 (* b (+ (* -1/2 (/ c (pow b 2))) (+ (* -3/8 (/ (* a (pow c 2)) (pow b 4))) (* 2/3 (/ 1 a))))))
(* -1 (* b (+ (* -9/16 (/ (* (pow a 2) (pow c 3)) (pow b 6))) (+ (* -1/2 (/ c (pow b 2))) (+ (* -3/8 (/ (* a (pow c 2)) (pow b 4))) (* 2/3 (/ 1 a)))))))
(* -2 b)
(* -1 (* b (+ 2 (* -3/2 (/ (* a c) (pow b 2))))))
(* -1 (* b (+ 2 (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4)))))))
(* -1 (* b (+ 2 (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 6))) (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4))))))))
(* -1 (* b (+ 1 (* -3/2 (/ (* a c) (pow b 2))))))
(* -1 (* b (+ 1 (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4)))))))
(* -1 (* b (+ 1 (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 6))) (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4))))))))
(* c (- (* -3/8 (/ (* a c) (pow b 3))) (* 1/2 (/ 1 b))))
(* c (- (* c (+ (* -9/16 (/ (* (pow a 2) c) (pow b 5))) (* -3/8 (/ a (pow b 3))))) (* 1/2 (/ 1 b))))
(* c (- (* c (+ (* -3/8 (/ a (pow b 3))) (* c (+ (* -9/16 (/ (pow a 2) (pow b 5))) (* -1/6 (/ (* c (+ (* 81/64 (/ (pow a 4) (pow b 6))) (* 81/16 (/ (pow a 4) (pow b 6))))) (* a b))))))) (* 1/2 (/ 1 b))))
(* c (+ (* -3/2 (/ a b)) (* -9/8 (/ (* (pow a 2) c) (pow b 3)))))
(* c (+ (* -3/2 (/ a b)) (* c (+ (* -27/16 (/ (* (pow a 3) c) (pow b 5))) (* -9/8 (/ (pow a 2) (pow b 3)))))))
(* c (+ (* -3/2 (/ a b)) (* c (+ (* -9/8 (/ (pow a 2) (pow b 3))) (* c (+ (* -27/16 (/ (pow a 3) (pow b 5))) (* -1/2 (/ (* c (+ (* 81/64 (/ (pow a 4) (pow b 6))) (* 81/16 (/ (pow a 4) (pow b 6))))) b))))))))
(+ b (* c (+ (* -3/2 (/ a b)) (* -9/8 (/ (* (pow a 2) c) (pow b 3))))))
(+ b (* c (+ (* -3/2 (/ a b)) (* c (+ (* -27/16 (/ (* (pow a 3) c) (pow b 5))) (* -9/8 (/ (pow a 2) (pow b 3))))))))
(* c (+ (* -1/3 (/ b (* a c))) (* 1/3 (* (sqrt (/ 1 (* a c))) (sqrt -3)))))
(* c (+ (* -1/3 (/ b (* a c))) (+ (* 1/6 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* 1/3 (* (sqrt (/ 1 (* a c))) (sqrt -3))))))
(* c (+ (* -1/3 (/ b (* a c))) (+ (* -1/24 (* (sqrt (/ 1 (* (pow a 5) (pow c 5)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/6 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* 1/3 (* (sqrt (/ 1 (* a c))) (sqrt -3)))))))
(* c (+ (* -1 (/ b c)) (* (sqrt (/ a c)) (sqrt -3))))
(* c (- (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3))) (/ b c)))
(* c (- (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3)))) (/ b c)))
(* c (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3))))
(* c (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3)))))
(* c (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow c 7)))) (/ (pow b 6) (pow (sqrt -3) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3))))))
(* c (- (/ (pow b 2) c) (* 3 a)))
(* -1 (* c (+ (* 1/3 (* (sqrt (/ 1 (* a c))) (* (sqrt -1) (sqrt 3)))) (* 1/3 (/ b (* a c))))))
(* -1 (* c (+ (* -1 (/ (+ (* -1/3 (/ b a)) (* -1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3))))) c)) (* 1/3 (* (sqrt (/ 1 (* a c))) (* (sqrt -1) (sqrt 3)))))))
(* -1 (* c (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/24 (* (sqrt (/ 1 (* (pow a 5) c))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (* 1/6 (* (sqrt (/ c (pow a 3))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3))))) c)) (* -1/3 (/ b a))) c)) (* 1/3 (* (sqrt (/ 1 (* a c))) (* (sqrt -1) (sqrt 3)))))))
(* -1 (* c (+ (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))) (/ b c))))
(* -1 (* c (+ (* -1 (/ (- (* -1/2 (* (sqrt (/ 1 (* a c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) b) c)) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* c (+ (* -1 (/ (- (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (* 1/2 (* (sqrt (/ c a)) (/ (* (pow b 2) (sqrt -1)) (sqrt 3))))) c)) b) c)) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* c (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* c (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3)))))))
(* -1 (* c (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow c 7)))) (/ (* (pow b 6) (sqrt -1)) (pow (sqrt 3) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))))))))
(* -1 (* c (- (* -1 (/ (pow b 2) c)) (* -3 a))))
Calls

9 calls:

TimeVariablePointExpression
1.0ms
b
@inf
((/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg b) (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (sqrt (- (* b b) (* (* 3 a) c))) (* (* 3 a) c) (- (* b b) (* (* 3 a) c)))
1.0ms
c
@-inf
((/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg b) (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (sqrt (- (* b b) (* (* 3 a) c))) (* (* 3 a) c) (- (* b b) (* (* 3 a) c)))
1.0ms
a
@-inf
((/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg b) (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (sqrt (- (* b b) (* (* 3 a) c))) (* (* 3 a) c) (- (* b b) (* (* 3 a) c)))
1.0ms
b
@-inf
((/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg b) (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (sqrt (- (* b b) (* (* 3 a) c))) (* (* 3 a) c) (- (* b b) (* (* 3 a) c)))
1.0ms
a
@inf
((/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg b) (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (sqrt (- (* b b) (* (* 3 a) c))) (* (* 3 a) c) (- (* b b) (* (* 3 a) c)))

simplify2.0ms (0.1%)

Memory
2.5MiB live, 2.5MiB allocated
Algorithm
egg-herbie
Counts
99 → 7
Calls
Call 1
Inputs
(* -1/2 (/ c b))
(+ (* -1/2 (/ c b)) (* -3/8 (/ (* a (pow c 2)) (pow b 3))))
(+ (* -1/2 (/ c b)) (* a (+ (* -9/16 (/ (* a (pow c 3)) (pow b 5))) (* -3/8 (/ (pow c 2) (pow b 3))))))
(+ (* -1/2 (/ c b)) (* a (+ (* -3/8 (/ (pow c 2) (pow b 3))) (* a (+ (* -9/16 (/ (pow c 3) (pow b 5))) (* -1/6 (/ (* a (+ (* 81/64 (/ (pow c 4) (pow b 6))) (* 81/16 (/ (pow c 4) (pow b 6))))) b)))))))
(* -3/2 (/ (* a c) b))
(* a (+ (* -3/2 (/ c b)) (* -9/8 (/ (* a (pow c 2)) (pow b 3)))))
(* a (+ (* -3/2 (/ c b)) (* a (+ (* -27/16 (/ (* a (pow c 3)) (pow b 5))) (* -9/8 (/ (pow c 2) (pow b 3)))))))
(* a (+ (* -3/2 (/ c b)) (* a (+ (* -9/8 (/ (pow c 2) (pow b 3))) (* a (+ (* -27/16 (/ (pow c 3) (pow b 5))) (* -1/2 (/ (* a (+ (* 81/64 (/ (pow c 4) (pow b 6))) (* 81/16 (/ (pow c 4) (pow b 6))))) b))))))))
b
(+ b (* -3/2 (/ (* a c) b)))
(+ b (* a (+ (* -3/2 (/ c b)) (* -9/8 (/ (* a (pow c 2)) (pow b 3))))))
(+ b (* a (+ (* -3/2 (/ c b)) (* a (+ (* -27/16 (/ (* a (pow c 3)) (pow b 5))) (* -9/8 (/ (pow c 2) (pow b 3))))))))
(* 3 (* a c))
(pow b 2)
(+ (* -3 (* a c)) (pow b 2))
(* 1/3 (* (sqrt (/ c a)) (sqrt -3)))
(+ (* -1/3 (/ b a)) (* 1/3 (* (sqrt (/ c a)) (sqrt -3))))
(+ (* -1/3 (/ b a)) (+ (* 1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* 1/3 (* (sqrt (/ c a)) (sqrt -3)))))
(+ (* -1/3 (/ b a)) (+ (* -1/24 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* 1/3 (* (sqrt (/ c a)) (sqrt -3))))))
(* (sqrt (* a c)) (sqrt -3))
(* a (+ (* -1 (/ b a)) (* (sqrt (/ c a)) (sqrt -3))))
(* a (- (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3))) (/ b a)))
(* a (- (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3)))) (/ b a)))
(* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3))))
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3)))))
(* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow c 5)))) (/ (pow b 6) (pow (sqrt -3) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ c a)) (sqrt -3))))))
(* -3 (* a c))
(* a (- (/ (pow b 2) a) (* 3 c)))
(* -1/3 (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))
(+ (* -1/3 (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3)))) (* -1/3 (/ b a)))
(+ (* -1 (/ (+ (* 1/6 (* (sqrt (/ 1 (* a c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* 1/3 b)) a)) (* -1/3 (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3)))))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/6 (* (sqrt (/ a c)) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* 1/24 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3))))) a)) (* 1/3 b)) a)) (* -1/3 (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3)))))
(* -1 (* (sqrt (* a c)) (* (sqrt -1) (sqrt 3))))
(* -1 (* a (+ (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))) (/ b a))))
(* -1 (* a (+ (* -1 (/ (- (* -1/2 (* (sqrt (/ 1 (* a c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) b) a)) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* a (+ (* -1 (/ (- (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (* 1/2 (* (sqrt (/ a c)) (/ (* (pow b 2) (sqrt -1)) (sqrt 3))))) a)) b) a)) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* a (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3)))))))
(* -1 (* a (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 7) (pow c 5)))) (/ (* (pow b 6) (sqrt -1)) (pow (sqrt 3) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ c a)) (* (sqrt -1) (sqrt 3))))))))
(* -1 (* a (- (* -1 (/ (pow b 2) a)) (* -3 c))))
(+ (* 1/3 (* (sqrt (/ c a)) (sqrt -3))) (* b (- (* 1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ b (sqrt -3)))) (* 1/3 (/ 1 a)))))
(+ (* 1/3 (* (sqrt (/ c a)) (sqrt -3))) (* b (- (* b (+ (* -1/24 (* (sqrt (/ 1 (* (pow a 5) (pow c 3)))) (/ (pow b 2) (pow (sqrt -3) 3)))) (* 1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ 1 (sqrt -3)))))) (* 1/3 (/ 1 a)))))
(* -1 b)
(+ (* -1 b) (* (sqrt (* a c)) (sqrt -3)))
(+ (* b (- (* 1/2 (* (sqrt (/ 1 (* a c))) (/ b (sqrt -3)))) 1)) (* (sqrt (* a c)) (sqrt -3)))
(+ (* b (- (* b (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ (pow b 2) (pow (sqrt -3) 3)))) (* 1/2 (* (sqrt (/ 1 (* a c))) (/ 1 (sqrt -3)))))) 1)) (* (sqrt (* a c)) (sqrt -3)))
(+ (* 1/2 (* (sqrt (/ 1 (* a c))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (* a c)) (sqrt -3)))
(+ (* (sqrt (* a c)) (sqrt -3)) (* (pow b 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ (pow b 2) (pow (sqrt -3) 3)))) (* 1/2 (* (sqrt (/ 1 (* a c))) (/ 1 (sqrt -3)))))))
(+ (* (sqrt (* a c)) (sqrt -3)) (* (pow b 2) (+ (* 1/2 (* (sqrt (/ 1 (* a c))) (/ 1 (sqrt -3)))) (* (pow b 2) (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ 1 (pow (sqrt -3) 3)))) (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow c 5)))) (/ (pow b 2) (pow (sqrt -3) 5)))))))))
(- (pow b 2) (* 3 (* a c)))
(/ (+ (* -1/2 c) (* -3/8 (/ (* a (pow c 2)) (pow b 2)))) b)
(/ (+ (* -9/16 (/ (* (pow a 2) (pow c 3)) (pow b 4))) (+ (* -1/2 c) (* -3/8 (/ (* a (pow c 2)) (pow b 2))))) b)
(/ (+ (* -9/16 (/ (* (pow a 2) (pow c 3)) (pow b 4))) (+ (* -1/2 c) (+ (* -3/8 (/ (* a (pow c 2)) (pow b 2))) (* -1/6 (/ (+ (* 81/64 (* (pow a 4) (pow c 4))) (* 81/16 (* (pow a 4) (pow c 4)))) (* a (pow b 6))))))) b)
(/ (+ (* -3/2 (* a c)) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 2)))) b)
(/ (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 4))) (+ (* -3/2 (* a c)) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 2))))) b)
(/ (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 4))) (+ (* -3/2 (* a c)) (+ (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 2))) (* -1/2 (/ (+ (* 81/64 (* (pow a 4) (pow c 4))) (* 81/16 (* (pow a 4) (pow c 4)))) (pow b 6)))))) b)
(* b (+ 1 (* -3/2 (/ (* a c) (pow b 2)))))
(* b (+ 1 (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4))))))
(* b (+ 1 (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 6))) (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4)))))))
(* (pow b 2) (+ 1 (* -3 (/ (* a c) (pow b 2)))))
(* -2/3 (/ b a))
(* -1 (* b (+ (* -1/2 (/ c (pow b 2))) (* 2/3 (/ 1 a)))))
(* -1 (* b (+ (* -1/2 (/ c (pow b 2))) (+ (* -3/8 (/ (* a (pow c 2)) (pow b 4))) (* 2/3 (/ 1 a))))))
(* -1 (* b (+ (* -9/16 (/ (* (pow a 2) (pow c 3)) (pow b 6))) (+ (* -1/2 (/ c (pow b 2))) (+ (* -3/8 (/ (* a (pow c 2)) (pow b 4))) (* 2/3 (/ 1 a)))))))
(* -2 b)
(* -1 (* b (+ 2 (* -3/2 (/ (* a c) (pow b 2))))))
(* -1 (* b (+ 2 (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4)))))))
(* -1 (* b (+ 2 (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 6))) (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4))))))))
(* -1 (* b (+ 1 (* -3/2 (/ (* a c) (pow b 2))))))
(* -1 (* b (+ 1 (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4)))))))
(* -1 (* b (+ 1 (+ (* -27/16 (/ (* (pow a 3) (pow c 3)) (pow b 6))) (+ (* -3/2 (/ (* a c) (pow b 2))) (* -9/8 (/ (* (pow a 2) (pow c 2)) (pow b 4))))))))
(* c (- (* -3/8 (/ (* a c) (pow b 3))) (* 1/2 (/ 1 b))))
(* c (- (* c (+ (* -9/16 (/ (* (pow a 2) c) (pow b 5))) (* -3/8 (/ a (pow b 3))))) (* 1/2 (/ 1 b))))
(* c (- (* c (+ (* -3/8 (/ a (pow b 3))) (* c (+ (* -9/16 (/ (pow a 2) (pow b 5))) (* -1/6 (/ (* c (+ (* 81/64 (/ (pow a 4) (pow b 6))) (* 81/16 (/ (pow a 4) (pow b 6))))) (* a b))))))) (* 1/2 (/ 1 b))))
(* c (+ (* -3/2 (/ a b)) (* -9/8 (/ (* (pow a 2) c) (pow b 3)))))
(* c (+ (* -3/2 (/ a b)) (* c (+ (* -27/16 (/ (* (pow a 3) c) (pow b 5))) (* -9/8 (/ (pow a 2) (pow b 3)))))))
(* c (+ (* -3/2 (/ a b)) (* c (+ (* -9/8 (/ (pow a 2) (pow b 3))) (* c (+ (* -27/16 (/ (pow a 3) (pow b 5))) (* -1/2 (/ (* c (+ (* 81/64 (/ (pow a 4) (pow b 6))) (* 81/16 (/ (pow a 4) (pow b 6))))) b))))))))
(+ b (* c (+ (* -3/2 (/ a b)) (* -9/8 (/ (* (pow a 2) c) (pow b 3))))))
(+ b (* c (+ (* -3/2 (/ a b)) (* c (+ (* -27/16 (/ (* (pow a 3) c) (pow b 5))) (* -9/8 (/ (pow a 2) (pow b 3))))))))
(* c (+ (* -1/3 (/ b (* a c))) (* 1/3 (* (sqrt (/ 1 (* a c))) (sqrt -3)))))
(* c (+ (* -1/3 (/ b (* a c))) (+ (* 1/6 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* 1/3 (* (sqrt (/ 1 (* a c))) (sqrt -3))))))
(* c (+ (* -1/3 (/ b (* a c))) (+ (* -1/24 (* (sqrt (/ 1 (* (pow a 5) (pow c 5)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/6 (* (sqrt (/ 1 (* (pow a 3) (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* 1/3 (* (sqrt (/ 1 (* a c))) (sqrt -3)))))))
(* c (+ (* -1 (/ b c)) (* (sqrt (/ a c)) (sqrt -3))))
(* c (- (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3))) (/ b c)))
(* c (- (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3)))) (/ b c)))
(* c (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3))))
(* c (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3)))))
(* c (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (pow b 4) (pow (sqrt -3) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow c 7)))) (/ (pow b 6) (pow (sqrt -3) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (pow b 2) (sqrt -3)))) (* (sqrt (/ a c)) (sqrt -3))))))
(* c (- (/ (pow b 2) c) (* 3 a)))
(* -1 (* c (+ (* 1/3 (* (sqrt (/ 1 (* a c))) (* (sqrt -1) (sqrt 3)))) (* 1/3 (/ b (* a c))))))
(* -1 (* c (+ (* -1 (/ (+ (* -1/3 (/ b a)) (* -1/6 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3))))) c)) (* 1/3 (* (sqrt (/ 1 (* a c))) (* (sqrt -1) (sqrt 3)))))))
(* -1 (* c (+ (* -1 (/ (+ (* -1 (/ (+ (* -1/24 (* (sqrt (/ 1 (* (pow a 5) c))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (* 1/6 (* (sqrt (/ c (pow a 3))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3))))) c)) (* -1/3 (/ b a))) c)) (* 1/3 (* (sqrt (/ 1 (* a c))) (* (sqrt -1) (sqrt 3)))))))
(* -1 (* c (+ (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))) (/ b c))))
(* -1 (* c (+ (* -1 (/ (- (* -1/2 (* (sqrt (/ 1 (* a c))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) b) c)) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* c (+ (* -1 (/ (- (* -1 (/ (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) c))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (* 1/2 (* (sqrt (/ c a)) (/ (* (pow b 2) (sqrt -1)) (sqrt 3))))) c)) b) c)) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* c (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))))))
(* -1 (* c (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3)))))))
(* -1 (* c (+ (* -1/8 (* (sqrt (/ 1 (* (pow a 3) (pow c 5)))) (/ (* (pow b 4) (sqrt -1)) (pow (sqrt 3) 3)))) (+ (* 1/16 (* (sqrt (/ 1 (* (pow a 5) (pow c 7)))) (/ (* (pow b 6) (sqrt -1)) (pow (sqrt 3) 5)))) (+ (* 1/2 (* (sqrt (/ 1 (* a (pow c 3)))) (/ (* (pow b 2) (sqrt -1)) (sqrt 3)))) (* (sqrt (/ a c)) (* (sqrt -1) (sqrt 3))))))))
(* -1 (* c (- (* -1 (/ (pow b 2) c)) (* -3 a))))
Outputs
(* -1/2 (/ c b))
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg.f64 b))
(+ (* -1/2 (/ c b)) (* -3/8 (/ (* a (pow c 2)) (pow b 3))))
(neg.f64 b)
(+ (* -1/2 (/ c b)) (* a (+ (* -9/16 (/ (* a (pow c 3)) (pow b 5))) (* -3/8 (/ (pow c 2) (pow b 3))))))
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))))
(+ (* -1/2 (/ c b)) (* a (+ (* -3/8 (/ (pow c 2) (pow b 3))) (* a (+ (* -9/16 (/ (pow c 3) (pow b 5))) (* -1/6 (/ (* a (+ (* 81/64 (/ (pow c 4) (pow b 6))) (* 81/16 (/ (pow c 4) (pow b 6))))) b)))))))
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))))
(* -3/2 (/ (* a c) b))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))
(* a (+ (* -3/2 (/ c b)) (* -9/8 (/ (* a (pow c 2)) (pow b 3)))))
(*.f64 (*.f64 #s(literal 3 binary64) a) c)
(* a (+ (* -3/2 (/ c b)) (* a (+ (* -27/16 (/ (* a (pow c 3)) (pow b 5))) (* -9/8 (/ (pow c 2) (pow b 3)))))))
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))

rewrite0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Counts
7 → 7
Calls
Call 1
Inputs
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg.f64 b))
(neg.f64 b)
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))))
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))
(*.f64 (*.f64 #s(literal 3 binary64) a) c)
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))
Outputs
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg.f64 b))
(neg.f64 b)
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))))
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))
(*.f64 (*.f64 #s(literal 3 binary64) a) c)
(-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c))

eval9.0ms (0.3%)

Memory
-36.2MiB live, 2.3MiB allocated
Compiler

Compiled 433 to 30 computations (93.1% saved)

prune3.0ms (0.1%)

Memory
5.3MiB live, 5.3MiB allocated
Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New13013
Fresh000
Picked022
Done011
Total13316
Accuracy
36.0%
Counts
16 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
33.2%
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
7.9%
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))))
10.4%
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg.f64 b))
Compiler

Compiled 136 to 70 computations (48.5% saved)

regimes9.0ms (0.3%)

Memory
17.9MiB live, 18.0MiB allocated
Counts
3 → 2
Calls
Call 1
Inputs
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg.f64 b))
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))))
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
Outputs
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg.f64 b))
Calls

5 calls:

2.0ms
c
2.0ms
(*.f64 #s(literal 3 binary64) a)
2.0ms
a
2.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
2.0ms
b
Results
AccuracySegmentsBranch
33.2%1a
33.2%1b
33.2%1c
36.0%2(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
33.2%1(*.f64 #s(literal 3 binary64) a)
Compiler

Compiled 23 to 26 computations (-13% saved)

regimes7.0ms (0.2%)

Memory
14.6MiB live, 14.6MiB allocated
Accuracy

Total -2.1b remaining (-3.7%)

Threshold costs -2.1b (-3.7%)

Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg.f64 b))
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))))
Outputs
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg.f64 b))
Calls

5 calls:

1.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
1.0ms
(*.f64 #s(literal 3 binary64) a)
1.0ms
b
1.0ms
a
1.0ms
c
Results
AccuracySegmentsBranch
10.4%1a
10.4%1(*.f64 #s(literal 3 binary64) a)
10.4%1c
10.4%1b
10.4%1(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a))
Compiler

Compiled 23 to 26 computations (-13% saved)

bsearch0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-8.154124423581997e-22
0.0
Compiler

Compiled 20 to 18 computations (10% saved)

simplify10.0ms (0.3%)

Memory
-32.3MiB live, 10.9MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(if (<=.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a)) #s(literal -5316911983139663/10633823966279326983230456482242756608 binary64)) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a)) #s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg.f64 b)))
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg.f64 b))
Outputs
(if (<=.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a)) #s(literal -5316911983139663/10633823966279326983230456482242756608 binary64)) (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 #s(literal 3 binary64) a) c)))) (*.f64 #s(literal 3 binary64) a)) #s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg.f64 b)))
#s(approx (/ (+ (neg b) (sqrt (- (* b b) (* (* 3 a) c)))) (* 3 a)) (neg.f64 b))

soundness0.0ms (0%)

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

Compiled 77 to 25 computations (67.5% saved)

preprocess20.0ms (0.7%)

Memory
22.5MiB live, 60.4MiB allocated
Compiler

Compiled 188 to 74 computations (60.6% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...