Octave 3.8, jcobi/4

Time bar (total: 3.4s)

analyze27.0ms (0.8%)

Memory
-11.7MiB live, 9.0MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%14%86%0%0%0%0
0%0%14%86%0%0%0%1
0%0%14%86%0%0%0%2
25%3.5%10.5%86%0%0%0%3
62.5%8.8%5.3%86%0%0%0%4
75%10.5%3.5%86%0%0%0%5
84.4%11.8%2.2%86%0%0%0%6
92.2%12.9%1.1%86%0%0%0%7
93.8%13.2%0.9%86%0%0%0%8
95.7%13.4%0.6%86%0%0%0%9
97.9%13.7%0.3%86%0%0%0%10
98.4%13.8%0.2%86%0%0%0%11
99%13.9%0.1%86%0%0%0%12
Compiler

Compiled 112 to 37 computations (67% saved)

sample3.3s (96.3%)

Memory
42.9MiB live, 1 030.4MiB allocated
Samples
827.0ms8 256×0valid-baseline
712.0ms8 256×0valid-sollya
710.0ms8 256×0valid-rival
Precisions
Click to see Rival histograms. Total time spent on operations: 494.0ms
ival-mult: 215.0ms (43.5% of total)
ival-add: 139.0ms (28.1% of total)
ival-div: 91.0ms (18.4% of total)
ival-sub: 34.0ms (6.9% of total)
ival-true: 7.0ms (1.4% of total)
...in/eval/compile.rkt:110:19: 5.0ms (1% of total)
ival-assert: 4.0ms (0.8% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 518.0ms
ival-mult: 226.0ms (43.6% of total)
ival-add: 150.0ms (29% of total)
ival-div: 90.0ms (17.4% of total)
ival-sub: 37.0ms (7.1% of total)
const: 14.0ms (2.7% of total)
Bogosity

preprocess78.0ms (2.3%)

Memory
-4.2MiB live, 26.8MiB allocated
Algorithm
egg-herbie
Rules
722×associate-*l*
697×times-frac
676×fma-define
674×associate-*r*
471×associate-+l+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0972489
14572265
222452225
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha beta) i)) (+.f64 (*.f64 beta alpha) (*.f64 i (+.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha beta) i)) (+.f64 (*.f64 beta alpha) (*.f64 i (+.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 (neg.f64 alpha) beta) i)) (+.f64 (*.f64 beta (neg.f64 alpha)) (*.f64 i (+.f64 (+.f64 (neg.f64 alpha) beta) i)))) (*.f64 (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha (neg.f64 beta)) i)) (+.f64 (*.f64 (neg.f64 beta) alpha) (*.f64 i (+.f64 (+.f64 alpha (neg.f64 beta)) i)))) (*.f64 (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (/.f64 (*.f64 (*.f64 (neg.f64 i) (+.f64 (+.f64 alpha beta) (neg.f64 i))) (+.f64 (*.f64 beta alpha) (*.f64 (neg.f64 i) (+.f64 (+.f64 alpha beta) (neg.f64 i))))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i)))) #s(literal 1 binary64)))
(neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 (neg.f64 alpha) beta) i)) (+.f64 (*.f64 beta (neg.f64 alpha)) (*.f64 i (+.f64 (+.f64 (neg.f64 alpha) beta) i)))) (*.f64 (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64))))
(neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha (neg.f64 beta)) i)) (+.f64 (*.f64 (neg.f64 beta) alpha) (*.f64 i (+.f64 (+.f64 alpha (neg.f64 beta)) i)))) (*.f64 (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64))))
(neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 (neg.f64 i) (+.f64 (+.f64 alpha beta) (neg.f64 i))) (+.f64 (*.f64 beta alpha) (*.f64 (neg.f64 i) (+.f64 (+.f64 alpha beta) (neg.f64 i))))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i)))) #s(literal 1 binary64))))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 beta alpha) i)) (+.f64 (*.f64 alpha beta) (*.f64 i (+.f64 (+.f64 beta alpha) i)))) (*.f64 (+.f64 (+.f64 beta alpha) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 beta alpha) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 beta alpha) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 beta alpha) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (/.f64 (*.f64 (*.f64 alpha (+.f64 (+.f64 i beta) alpha)) (+.f64 (*.f64 beta i) (*.f64 alpha (+.f64 (+.f64 i beta) alpha)))) (*.f64 (+.f64 (+.f64 i beta) (*.f64 #s(literal 2 binary64) alpha)) (+.f64 (+.f64 i beta) (*.f64 #s(literal 2 binary64) alpha)))) (-.f64 (*.f64 (+.f64 (+.f64 i beta) (*.f64 #s(literal 2 binary64) alpha)) (+.f64 (+.f64 i beta) (*.f64 #s(literal 2 binary64) alpha))) #s(literal 1 binary64)))
(/.f64 (/.f64 (*.f64 (*.f64 beta (+.f64 (+.f64 alpha i) beta)) (+.f64 (*.f64 i alpha) (*.f64 beta (+.f64 (+.f64 alpha i) beta)))) (*.f64 (+.f64 (+.f64 alpha i) (*.f64 #s(literal 2 binary64) beta)) (+.f64 (+.f64 alpha i) (*.f64 #s(literal 2 binary64) beta)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha i) (*.f64 #s(literal 2 binary64) beta)) (+.f64 (+.f64 alpha i) (*.f64 #s(literal 2 binary64) beta))) #s(literal 1 binary64)))
Outputs
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha beta) i)) (+.f64 (*.f64 beta alpha) (*.f64 i (+.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 alpha beta (*.f64 i (+.f64 i (+.f64 alpha beta))))) (*.f64 (fma.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) #s(literal -1 binary64)) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))))))
(*.f64 i (/.f64 (*.f64 (fma.f64 i (+.f64 beta (+.f64 i alpha)) (*.f64 alpha beta)) (+.f64 beta (+.f64 i alpha))) (*.f64 (*.f64 (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta)) (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta))) (fma.f64 (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta)) (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta)) #s(literal -1 binary64)))))
(*.f64 i (*.f64 (+.f64 i (+.f64 alpha beta)) (/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (*.f64 (*.f64 (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta)) (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta))) (fma.f64 (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta)) (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta)) #s(literal -1 binary64))))))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha beta) i)) (+.f64 (*.f64 beta alpha) (*.f64 i (+.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 alpha beta (*.f64 i (+.f64 i (+.f64 alpha beta))))) (*.f64 (fma.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) #s(literal -1 binary64)) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))))))
(*.f64 i (/.f64 (*.f64 (fma.f64 i (+.f64 beta (+.f64 i alpha)) (*.f64 alpha beta)) (+.f64 beta (+.f64 i alpha))) (*.f64 (*.f64 (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta)) (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta))) (fma.f64 (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta)) (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta)) #s(literal -1 binary64)))))
(*.f64 i (*.f64 (+.f64 i (+.f64 alpha beta)) (/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (*.f64 (*.f64 (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta)) (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta))) (fma.f64 (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta)) (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta)) #s(literal -1 binary64))))))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 (neg.f64 alpha) beta) i)) (+.f64 (*.f64 beta (neg.f64 alpha)) (*.f64 i (+.f64 (+.f64 (neg.f64 alpha) beta) i)))) (*.f64 (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (*.f64 i (*.f64 (+.f64 i (+.f64 beta (neg.f64 alpha))) (fma.f64 beta (neg.f64 alpha) (*.f64 i (+.f64 i (+.f64 beta (neg.f64 alpha))))))) (*.f64 (fma.f64 (+.f64 (*.f64 i #s(literal 2 binary64)) (+.f64 beta (neg.f64 alpha))) (+.f64 (*.f64 i #s(literal 2 binary64)) (+.f64 beta (neg.f64 alpha))) #s(literal -1 binary64)) (*.f64 (+.f64 (*.f64 i #s(literal 2 binary64)) (+.f64 beta (neg.f64 alpha))) (+.f64 (*.f64 i #s(literal 2 binary64)) (+.f64 beta (neg.f64 alpha))))))
(*.f64 (/.f64 i (fma.f64 (fma.f64 i #s(literal 2 binary64) (-.f64 beta alpha)) (fma.f64 i #s(literal 2 binary64) (-.f64 beta alpha)) #s(literal -1 binary64))) (/.f64 (*.f64 (+.f64 i (-.f64 beta alpha)) (-.f64 (*.f64 i (+.f64 i (-.f64 beta alpha))) (*.f64 alpha beta))) (*.f64 (fma.f64 i #s(literal 2 binary64) (-.f64 beta alpha)) (fma.f64 i #s(literal 2 binary64) (-.f64 beta alpha)))))
(*.f64 i (*.f64 (/.f64 (-.f64 (*.f64 i (+.f64 i (-.f64 beta alpha))) (*.f64 alpha beta)) (*.f64 (-.f64 (fma.f64 i #s(literal 2 binary64) beta) alpha) (-.f64 (fma.f64 i #s(literal 2 binary64) beta) alpha))) (/.f64 (+.f64 i (-.f64 beta alpha)) (fma.f64 (-.f64 (fma.f64 i #s(literal 2 binary64) beta) alpha) (-.f64 (fma.f64 i #s(literal 2 binary64) beta) alpha) #s(literal -1 binary64)))))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha (neg.f64 beta)) i)) (+.f64 (*.f64 (neg.f64 beta) alpha) (*.f64 i (+.f64 (+.f64 alpha (neg.f64 beta)) i)))) (*.f64 (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (*.f64 i (*.f64 (+.f64 i (-.f64 alpha beta)) (fma.f64 (neg.f64 beta) alpha (*.f64 i (+.f64 i (-.f64 alpha beta)))))) (*.f64 (fma.f64 (+.f64 (*.f64 i #s(literal 2 binary64)) (-.f64 alpha beta)) (+.f64 (*.f64 i #s(literal 2 binary64)) (-.f64 alpha beta)) #s(literal -1 binary64)) (*.f64 (+.f64 (*.f64 i #s(literal 2 binary64)) (-.f64 alpha beta)) (+.f64 (*.f64 i #s(literal 2 binary64)) (-.f64 alpha beta)))))
(*.f64 (*.f64 i (+.f64 i (-.f64 alpha beta))) (/.f64 (-.f64 (*.f64 i (+.f64 i (-.f64 alpha beta))) (*.f64 alpha beta)) (*.f64 (*.f64 (fma.f64 i #s(literal 2 binary64) (-.f64 alpha beta)) (fma.f64 i #s(literal 2 binary64) (-.f64 alpha beta))) (fma.f64 (fma.f64 i #s(literal 2 binary64) (-.f64 alpha beta)) (fma.f64 i #s(literal 2 binary64) (-.f64 alpha beta)) #s(literal -1 binary64)))))
(*.f64 (*.f64 i (+.f64 i (-.f64 alpha beta))) (/.f64 (/.f64 (-.f64 (*.f64 i (+.f64 i (-.f64 alpha beta))) (*.f64 alpha beta)) (*.f64 (-.f64 alpha (fma.f64 i #s(literal -2 binary64) beta)) (-.f64 alpha (fma.f64 i #s(literal -2 binary64) beta)))) (fma.f64 (-.f64 alpha (fma.f64 i #s(literal -2 binary64) beta)) (-.f64 alpha (fma.f64 i #s(literal -2 binary64) beta)) #s(literal -1 binary64))))
(/.f64 (/.f64 (*.f64 (*.f64 (neg.f64 i) (+.f64 (+.f64 alpha beta) (neg.f64 i))) (+.f64 (*.f64 beta alpha) (*.f64 (neg.f64 i) (+.f64 (+.f64 alpha beta) (neg.f64 i))))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i)))) #s(literal 1 binary64)))
(/.f64 (/.f64 (*.f64 (*.f64 (neg.f64 i) (-.f64 (+.f64 alpha beta) i)) (fma.f64 beta alpha (*.f64 (neg.f64 i) (-.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 alpha (+.f64 beta (*.f64 #s(literal 2 binary64) (neg.f64 i)))) (+.f64 alpha (+.f64 beta (*.f64 #s(literal 2 binary64) (neg.f64 i)))))) (fma.f64 (+.f64 alpha (+.f64 beta (*.f64 #s(literal 2 binary64) (neg.f64 i)))) (+.f64 alpha (+.f64 beta (*.f64 #s(literal 2 binary64) (neg.f64 i)))) #s(literal -1 binary64)))
(/.f64 (*.f64 (neg.f64 i) (*.f64 (+.f64 beta (-.f64 alpha i)) (/.f64 (/.f64 (-.f64 (*.f64 alpha beta) (*.f64 i (+.f64 beta (-.f64 alpha i)))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal -2 binary64)))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal -2 binary64)))))) (fma.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal -2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal -2 binary64))) #s(literal -1 binary64)))
(*.f64 (neg.f64 i) (*.f64 (+.f64 alpha (-.f64 beta i)) (/.f64 (/.f64 (/.f64 (fma.f64 i (+.f64 (neg.f64 alpha) (-.f64 i beta)) (*.f64 alpha beta)) (+.f64 alpha (fma.f64 i #s(literal -2 binary64) beta))) (+.f64 alpha (fma.f64 i #s(literal -2 binary64) beta))) (fma.f64 (+.f64 alpha (fma.f64 i #s(literal -2 binary64) beta)) (+.f64 alpha (fma.f64 i #s(literal -2 binary64) beta)) #s(literal -1 binary64)))))
(neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 (neg.f64 alpha) beta) i)) (+.f64 (*.f64 beta (neg.f64 alpha)) (*.f64 i (+.f64 (+.f64 (neg.f64 alpha) beta) i)))) (*.f64 (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 (neg.f64 alpha) beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64))))
(/.f64 (*.f64 (*.f64 i (+.f64 i (+.f64 beta (neg.f64 alpha)))) (/.f64 (fma.f64 beta (neg.f64 alpha) (*.f64 i (+.f64 i (+.f64 beta (neg.f64 alpha))))) (*.f64 (+.f64 (*.f64 i #s(literal 2 binary64)) (+.f64 beta (neg.f64 alpha))) (+.f64 (*.f64 i #s(literal 2 binary64)) (+.f64 beta (neg.f64 alpha)))))) (neg.f64 (fma.f64 (+.f64 (*.f64 i #s(literal 2 binary64)) (+.f64 beta (neg.f64 alpha))) (+.f64 (*.f64 i #s(literal 2 binary64)) (+.f64 beta (neg.f64 alpha))) #s(literal -1 binary64))))
(/.f64 (*.f64 i (*.f64 (+.f64 i (-.f64 beta alpha)) (-.f64 (*.f64 i (+.f64 i (-.f64 beta alpha))) (*.f64 alpha beta)))) (neg.f64 (*.f64 (*.f64 (fma.f64 i #s(literal 2 binary64) (-.f64 beta alpha)) (fma.f64 i #s(literal 2 binary64) (-.f64 beta alpha))) (fma.f64 (fma.f64 i #s(literal 2 binary64) (-.f64 beta alpha)) (fma.f64 i #s(literal 2 binary64) (-.f64 beta alpha)) #s(literal -1 binary64)))))
(*.f64 (neg.f64 i) (*.f64 (/.f64 (-.f64 (*.f64 i (+.f64 i (-.f64 beta alpha))) (*.f64 alpha beta)) (*.f64 (-.f64 (fma.f64 i #s(literal 2 binary64) beta) alpha) (-.f64 (fma.f64 i #s(literal 2 binary64) beta) alpha))) (/.f64 (+.f64 i (-.f64 beta alpha)) (fma.f64 (-.f64 (fma.f64 i #s(literal 2 binary64) beta) alpha) (-.f64 (fma.f64 i #s(literal 2 binary64) beta) alpha) #s(literal -1 binary64)))))
(neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha (neg.f64 beta)) i)) (+.f64 (*.f64 (neg.f64 beta) alpha) (*.f64 i (+.f64 (+.f64 alpha (neg.f64 beta)) i)))) (*.f64 (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha (neg.f64 beta)) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64))))
(/.f64 (*.f64 (*.f64 i (+.f64 i (-.f64 alpha beta))) (/.f64 (fma.f64 (neg.f64 beta) alpha (*.f64 i (+.f64 i (-.f64 alpha beta)))) (*.f64 (+.f64 (*.f64 i #s(literal 2 binary64)) (-.f64 alpha beta)) (+.f64 (*.f64 i #s(literal 2 binary64)) (-.f64 alpha beta))))) (neg.f64 (fma.f64 (+.f64 (*.f64 i #s(literal 2 binary64)) (-.f64 alpha beta)) (+.f64 (*.f64 i #s(literal 2 binary64)) (-.f64 alpha beta)) #s(literal -1 binary64))))
(/.f64 (/.f64 (*.f64 (-.f64 (*.f64 i (+.f64 i (-.f64 alpha beta))) (*.f64 alpha beta)) (/.f64 (*.f64 i (+.f64 i (-.f64 alpha beta))) (fma.f64 i #s(literal 2 binary64) (-.f64 alpha beta)))) (neg.f64 (fma.f64 i #s(literal 2 binary64) (-.f64 alpha beta)))) (fma.f64 (fma.f64 i #s(literal 2 binary64) (-.f64 alpha beta)) (fma.f64 i #s(literal 2 binary64) (-.f64 alpha beta)) #s(literal -1 binary64)))
(*.f64 (*.f64 i (+.f64 i (-.f64 alpha beta))) (/.f64 (/.f64 (-.f64 (*.f64 i (+.f64 i (-.f64 alpha beta))) (*.f64 alpha beta)) (*.f64 (-.f64 alpha (fma.f64 i #s(literal -2 binary64) beta)) (-.f64 alpha (fma.f64 i #s(literal -2 binary64) beta)))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 alpha (fma.f64 i #s(literal -2 binary64) beta)) (-.f64 alpha (fma.f64 i #s(literal -2 binary64) beta))))))
(neg.f64 (/.f64 (/.f64 (*.f64 (*.f64 (neg.f64 i) (+.f64 (+.f64 alpha beta) (neg.f64 i))) (+.f64 (*.f64 beta alpha) (*.f64 (neg.f64 i) (+.f64 (+.f64 alpha beta) (neg.f64 i))))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i))) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) (neg.f64 i)))) #s(literal 1 binary64))))
(/.f64 (/.f64 (*.f64 (*.f64 (neg.f64 i) (-.f64 (+.f64 alpha beta) i)) (fma.f64 beta alpha (*.f64 (neg.f64 i) (-.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 alpha (+.f64 beta (*.f64 #s(literal 2 binary64) (neg.f64 i)))) (+.f64 alpha (+.f64 beta (*.f64 #s(literal 2 binary64) (neg.f64 i)))))) (neg.f64 (fma.f64 (+.f64 alpha (+.f64 beta (*.f64 #s(literal 2 binary64) (neg.f64 i)))) (+.f64 alpha (+.f64 beta (*.f64 #s(literal 2 binary64) (neg.f64 i)))) #s(literal -1 binary64))))
(/.f64 (*.f64 (neg.f64 (*.f64 (neg.f64 i) (+.f64 beta (-.f64 alpha i)))) (/.f64 (/.f64 (-.f64 (*.f64 alpha beta) (*.f64 i (+.f64 beta (-.f64 alpha i)))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal -2 binary64)))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal -2 binary64))))) (fma.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal -2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal -2 binary64))) #s(literal -1 binary64)))
(*.f64 (*.f64 i (+.f64 alpha (-.f64 beta i))) (/.f64 (/.f64 (/.f64 (fma.f64 i (+.f64 (neg.f64 alpha) (-.f64 i beta)) (*.f64 alpha beta)) (+.f64 alpha (fma.f64 i #s(literal -2 binary64) beta))) (+.f64 alpha (fma.f64 i #s(literal -2 binary64) beta))) (fma.f64 (+.f64 alpha (fma.f64 i #s(literal -2 binary64) beta)) (+.f64 alpha (fma.f64 i #s(literal -2 binary64) beta)) #s(literal -1 binary64))))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 beta alpha) i)) (+.f64 (*.f64 alpha beta) (*.f64 i (+.f64 (+.f64 beta alpha) i)))) (*.f64 (+.f64 (+.f64 beta alpha) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 beta alpha) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 beta alpha) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 beta alpha) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (fma.f64 alpha beta (*.f64 i (+.f64 i (+.f64 alpha beta))))) (*.f64 (fma.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) #s(literal -1 binary64)) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))))))
(*.f64 i (/.f64 (*.f64 (fma.f64 i (+.f64 beta (+.f64 i alpha)) (*.f64 alpha beta)) (+.f64 beta (+.f64 i alpha))) (*.f64 (*.f64 (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta)) (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta))) (fma.f64 (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta)) (fma.f64 i #s(literal 2 binary64) (+.f64 alpha beta)) #s(literal -1 binary64)))))
(*.f64 i (*.f64 (+.f64 i (+.f64 alpha beta)) (/.f64 (fma.f64 i (+.f64 i (+.f64 alpha beta)) (*.f64 alpha beta)) (*.f64 (*.f64 (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta)) (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta))) (fma.f64 (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta)) (+.f64 alpha (fma.f64 i #s(literal 2 binary64) beta)) #s(literal -1 binary64))))))
(/.f64 (/.f64 (*.f64 (*.f64 alpha (+.f64 (+.f64 i beta) alpha)) (+.f64 (*.f64 beta i) (*.f64 alpha (+.f64 (+.f64 i beta) alpha)))) (*.f64 (+.f64 (+.f64 i beta) (*.f64 #s(literal 2 binary64) alpha)) (+.f64 (+.f64 i beta) (*.f64 #s(literal 2 binary64) alpha)))) (-.f64 (*.f64 (+.f64 (+.f64 i beta) (*.f64 #s(literal 2 binary64) alpha)) (+.f64 (+.f64 i beta) (*.f64 #s(literal 2 binary64) alpha))) #s(literal 1 binary64)))
(/.f64 (*.f64 (*.f64 alpha (+.f64 i (+.f64 alpha beta))) (fma.f64 beta i (*.f64 alpha (+.f64 i (+.f64 alpha beta))))) (*.f64 (fma.f64 (+.f64 i (+.f64 beta (*.f64 alpha #s(literal 2 binary64)))) (+.f64 i (+.f64 beta (*.f64 alpha #s(literal 2 binary64)))) #s(literal -1 binary64)) (*.f64 (+.f64 i (+.f64 beta (*.f64 alpha #s(literal 2 binary64)))) (+.f64 i (+.f64 beta (*.f64 alpha #s(literal 2 binary64)))))))
(/.f64 (*.f64 (*.f64 alpha (+.f64 beta (+.f64 i alpha))) (/.f64 (fma.f64 i beta (*.f64 alpha (+.f64 beta (+.f64 i alpha)))) (*.f64 (fma.f64 alpha #s(literal 2 binary64) (+.f64 i beta)) (fma.f64 alpha #s(literal 2 binary64) (+.f64 i beta))))) (fma.f64 (fma.f64 alpha #s(literal 2 binary64) (+.f64 i beta)) (fma.f64 alpha #s(literal 2 binary64) (+.f64 i beta)) #s(literal -1 binary64)))
(*.f64 (/.f64 (+.f64 i (+.f64 alpha beta)) (fma.f64 (+.f64 i (fma.f64 alpha #s(literal 2 binary64) beta)) (+.f64 i (fma.f64 alpha #s(literal 2 binary64) beta)) #s(literal -1 binary64))) (/.f64 (*.f64 alpha (fma.f64 alpha (+.f64 i (+.f64 alpha beta)) (*.f64 i beta))) (*.f64 (+.f64 i (fma.f64 alpha #s(literal 2 binary64) beta)) (+.f64 i (fma.f64 alpha #s(literal 2 binary64) beta)))))
(/.f64 (/.f64 (*.f64 (*.f64 beta (+.f64 (+.f64 alpha i) beta)) (+.f64 (*.f64 i alpha) (*.f64 beta (+.f64 (+.f64 alpha i) beta)))) (*.f64 (+.f64 (+.f64 alpha i) (*.f64 #s(literal 2 binary64) beta)) (+.f64 (+.f64 alpha i) (*.f64 #s(literal 2 binary64) beta)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha i) (*.f64 #s(literal 2 binary64) beta)) (+.f64 (+.f64 alpha i) (*.f64 #s(literal 2 binary64) beta))) #s(literal 1 binary64)))
(/.f64 (*.f64 (*.f64 beta (+.f64 i (+.f64 alpha beta))) (fma.f64 i alpha (*.f64 beta (+.f64 i (+.f64 alpha beta))))) (*.f64 (fma.f64 (+.f64 alpha (+.f64 i (*.f64 beta #s(literal 2 binary64)))) (+.f64 alpha (+.f64 i (*.f64 beta #s(literal 2 binary64)))) #s(literal -1 binary64)) (*.f64 (+.f64 alpha (+.f64 i (*.f64 beta #s(literal 2 binary64)))) (+.f64 alpha (+.f64 i (*.f64 beta #s(literal 2 binary64)))))))
(*.f64 (/.f64 (fma.f64 i alpha (*.f64 beta (+.f64 beta (+.f64 i alpha)))) (fma.f64 (fma.f64 beta #s(literal 2 binary64) (+.f64 i alpha)) (fma.f64 beta #s(literal 2 binary64) (+.f64 i alpha)) #s(literal -1 binary64))) (/.f64 (*.f64 beta (+.f64 beta (+.f64 i alpha))) (*.f64 (fma.f64 beta #s(literal 2 binary64) (+.f64 i alpha)) (fma.f64 beta #s(literal 2 binary64) (+.f64 i alpha)))))
(*.f64 beta (*.f64 (/.f64 (fma.f64 i alpha (*.f64 beta (+.f64 i (+.f64 alpha beta)))) (*.f64 (+.f64 i (fma.f64 beta #s(literal 2 binary64) alpha)) (+.f64 i (fma.f64 beta #s(literal 2 binary64) alpha)))) (/.f64 (+.f64 i (+.f64 alpha beta)) (fma.f64 (+.f64 i (fma.f64 beta #s(literal 2 binary64) alpha)) (+.f64 i (fma.f64 beta #s(literal 2 binary64) alpha)) #s(literal -1 binary64)))))
Symmetry

(sort alpha beta)

Compiler

Compiled 56 to 17 computations (69.6% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
18.3%
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha beta) i)) (+.f64 (*.f64 beta alpha) (*.f64 i (+.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
Compiler

Compiled 112 to 34 computations (69.6% saved)

simplify4.0ms (0.1%)

Memory
1.6MiB live, 1.6MiB allocated
Algorithm
egg-herbie
Rules
+-commutative
*-commutative
1-exp
unsub-neg
sub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023223
139223
243223
346223
449223
552223
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha beta) i)) (+.f64 (*.f64 beta alpha) (*.f64 i (+.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
Outputs
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 (+.f64 alpha beta) i)) (+.f64 (*.f64 beta alpha) (*.f64 i (+.f64 (+.f64 alpha beta) i)))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i)) (+.f64 (+.f64 alpha beta) (*.f64 #s(literal 2 binary64) i))) #s(literal 1 binary64)))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (+.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (*.f64 alpha beta))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))))) (-.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64)))) #s(literal 1 binary64)))
(/.f64 (/.f64 (*.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (+.f64 (*.f64 i (+.f64 i (+.f64 alpha beta))) (*.f64 alpha beta))) (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))))) (+.f64 (*.f64 (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64))) (+.f64 (+.f64 alpha beta) (*.f64 i #s(literal 2 binary64)))) #s(literal -1 binary64)))

soundness0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Stop Event
fuel
Compiler

Compiled 56 to 17 computations (69.6% saved)

preprocess17.0ms (0.5%)

Memory
8.9MiB live, 24.4MiB allocated
Remove

(sort alpha beta)

Compiler

Compiled 448 to 136 computations (69.6% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...